# TIL 2022.08.31 TIL 1) 조건문, 반복문 문제를 풀었다. 부족했던점 1. 응용을 하는 것에 문제가 많다. 가령 for문에 for문을 중첩해서 활용해야하는 문제나 if문에 for문을 중첩해서 활용하는 문제의 이해도나 해결하는 능력이 많이 부족하다고 느꼈다. 또한 문제 상황을 이해하려는 것보다 끼워 맞추려는 경향이 있어서 모르는 것을 좀더 집요하게 알아봐야 한다는 것을 느끼게 되었다. 특히 or(||)는 !(!A&&!B)라는 것을 이해하는 것에 어려움이 있었다. CS지식과 더불어 수학적인 지식도 같이 공부해야겠다고 생각했다. 느낀점 1. 문제 자체를 이해하는 능력이 부족하다는 것을 느끼게 되었다. 비슷한 문제를 여러번 풀어보면서 문제에 대한 이해도가 조금씩 향상되었지만, 이제 JAVA를 시..
문제: 두 개의 문자열을 입력받아 대소문자를 구분하지 않고(case insensitive) 서로 같은지 여부를 리턴하라 인자 str1, str2 boolean 타입 리턴 str1과 str2가 서로 같은지 판단하기 위해서는 서로를 비교하는 메서드를 사용하면 좋을 것 같다. 서로를 비교하는 메서드는 .equals()메서드다. 따라서 최종적인 형태는 str1.equals(str2)가 될 것이다. 그렇다면 str1.equals(str2)를 담는 변수를 지정해야겠다. boolean 타입으로 리턴하라고 했으니 boolean compare = str1.equals(str2); 라고 해도 좋을 것 같다. 최종적으로 return compare이 된다. 하지만, 우리의 str1,2가 대문자인지 소문자인지 알 수가 없다. ..
# TIL 2022.08.30 TIL 1) 변수, 타입, 문자열 문제를 풀었다. 2) 배열에 대해서 공부했다. 부족했던점 1. toUpperCase(), String.format()에 대해서 배우게 됐다. 쓰임 자체는 어렵지 않았지만 막상 적용하려고 하다보니 생각이 잘 되지 않았다. 특히 str1=str1.toUpperCase(); 이 부분에서는 수학적으로 해석하면 틀린 수식이지만 우항의 내용을 좌항에 대입한다는 생각을 의식적으로 해야겠다. 따라서 좌항에 대입되는 String이 대문자로 전환되는구나 정도로 이해하고 코드를 작성해야겠다. 느낀점 1. 응용하는 것이 매우 어렵게 느껴진다. 하지만, 여러번 반복하면 이것이 몸에 체화될 것이라고 생각한다.
우리가 사용하는 타입은 메모리에 할당 할 수 있는 범위가 정해져있다. 메모리의 각 영역은 1byte를 할당하는데 이로써 메모리의 최소 단위는 1byte를 뜻한다. 1byte는 8bit를 뜻하며 따라서 1byte는 그 영역이 2의 8제곱인 256인 것이다. 당연하게도 2byte인 short는 256^2(제곱) 65,536 4byte인 int는 65,536의^2 4,294,967,296의 영역을 갖게 된다. 그렇다면 이 범위를 넘게되면 어떻게 될까? 오버플로우 오버플로우는 이러한 범위 중 최대값을 뛰어 넘는 값을 표현하려고 하는 경우에 발생한다. 이런 경우에는 해당 데이터 타입의 최소값으로 반환된다. 즉, byte형의 최대값 127에 1을 더하는 경우 그 값은 128이 아닌 -128이 된다. 언더플로우 언더..