이번에는 코틀린으로 정말 간결하게 풀 수 있는 문제가 있어서 풀어보았다. 문제 myString에 pat이 대소문자 상관없이 포함되기만 하면 1 아니면 0을 리턴하면 된다. 입출력 예시에서 길이를 논하는 부분이 있는데 굳이 필요없는 부분이라 생각한다. 풀이 최대한 짧게 쓰려고 했다면 if-else문의 중괄호 조차 생략해버릴 수 있었는데 그렇게 되면 가독성이 떨어져 보여 중괄호를 빼지 않고 써보았다. 나는 모두 소문자로 변환하여 비교했지만 반대로 모두 대문자로 변환하여 비교해도 무관하다.
기본 데이터 타입의 종류 Bool Int, UInt Float, Double Character, String 1. Bool true, false만을 값으로 가지는 타입이나 C언어나 다른 언어에서 사용했던 것처럼 1을 true, 0을 false로 생각하고 사용하면 컴파일 에러가 발생한다. var boolA = true boolA = 1 //error 2. Int, UInt Int : 정수 타입. 현재는 기본적으로 64비트 정수형이다. UInt : 양의 정수 타입. 현재는 기본적으로 64비트 양의 정수형이다. var intA = -10 intA = 10.1 //error var uIntB: UInt = 1 uIntB = -1 //error Int형에는 당연히 실수형을 할당할 수 없고, UInt형에는 당연히 ..
이번 글은 저번 글에 이어 String class에서 자주 쓰이는 메소드(함수)들을 소개하겠다. //3. 문자열에서 특정 위치의 char 얻어오기 char ch = str.charAt(0); System.out.println(ch); //System.out.println(str.charAt(5)); // error 인덱스번호 벗어남 for (int i = 0; i < 5; i++) { System.out.println(str.charAt(i)); } 이번에 소개할 메소드(함수)는 charAt()이다. 눈치가 빠른 사람이라면 이 메소드의 리턴 타입을 바로 인지했을 것이다. 보다시피 char형이다. String은 내부적으로 문자열을 문자형 배열로 저장한다. 바로 이전 글에서 str을 "Hello"라고 저장했..
자바에서 print와 scan을 소개하기 전에 객체지향 프로그래밍의 간단한 개념을 알아야할 것 같다. 먼저 C언어에서의 함수(Java에서는 메소드)는 main함수 안에서 바로 사용할 수 있었다. 그런데 자바 파일을 보면 다른 점이 있다. main이라는 함수 앞에 public static가 붙어있고 파라미터도 있지만 그 외곽은 class가 감싸고 있다. 간단히 말하면 자바에서 모든 함수(메소드)는 클래스 안에서 사용해야 한다. 그리고 이 클래스는 일종의 설계도면이라고 할 수 있다. C언어의 구조체 선언은 어떤 역할이었는지 다시 떠올려보자. struct AAA { int a; double b; }; main함수 위에 이런 구조체를 선언했다면 우리는 a와 b라는 변수를 만든 것일까? 아니다. 이 구조체는 자료..