본문 바로가기

Kotlin

(9)
백준 15904 코틀린 그리디 문제이고 오랜만에 코틀린으로 풀어보았습니다. 문자 배열에 U C P C를 담고 하나씩 문자열에 있으면 idx를 +1하면 됩니다. import java.io.* import kotlin.text.* fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val s = br.readLine() val arr:Array = arrayOf('U', 'C', 'P', 'C') var idx = 0 for (c in s) { if (c == arr[idx]) { idx++ } if (idx == 4) break } if (idx == 4) { print("I love UCPC") } else { print("I hate UCPC") } }
백준 1978 코틀린 예전에 자바로 풀었던 문제를 코틀린으로 다시 푼 거라서 알고리즘은 동일합니다. 다만 아직 코틀린에서의 배열이나 함수 사용은 좀 미숙해서 시간이 좀 걸렸습니다. import java.util.* import java.io.* import kotlin.text.* val arr = BooleanArray(1001) fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) arr[0] = true arr[1] = true var cnt= 0 val N = br.readLine().toInt() val st = StringTokenizer(br.readLine()) for (i in 0 until N) { val num = st.nextToken..
코틀린 - 반복문 코틀린의 반복문에 대한 설명입니다. 코틀린의 반복문은 자바와 비슷하면서도 다르게 느껴집니다. 예시를 통해서 먼저 살펴보겠습니다. Ex 1) 자바보다는 훨씬 반복문이 간결해진 느낌입니다. 첫번째 반복문은 매우 편하고 간단한 반복문으로 '..'을 사용합니다. 범위는 1 이상 10 이하의 숫자들이 나옵니다. ( 자세히 보시면 for문 괄호 안의 등호 표시로도 알 수 있습니다.) 두번째 반복문은 rangeTo 메서드를 이용했습니다. 범위를 표현하는 코틀린의 메서드로 역시 1부터 10까지의 숫자가 출력됩니다. 세번째는 until을 이용한 반복문입니다. 괄호를 보시면 아시다시피 1이상 10 미만의 수가 나옵니다. ***** for (i in 10..1) 이렇게 반복문을 작성하신 다면 warning - This ra..
코틀린 - 문자열 포맷팅, 변수와 상수 정의 *** 현재 코틀린을 배우면서 글을 작성하므로 문장력이 어색하거나 표현이 부족한 부분이 있을 수 있습니다. *** String Formatting - %s : 문자열 처리 - %d : 정수 처리 - %f : 실수 처리 %e : 실수를 지수로 표기 %x : 정수를 16진수로 표기 Ex import java.util.* import java.io.* import kotlin.text.* fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val int = 100 val float = 10.78 val string = "kotlin" println("int : %d float : %f string : %s".format(int,float,..
백준 2512 코틀린 백준 이분탐색/매개변수 탐색 관련 문제입니다. 이분 탐색 문제의 장점은 뭔가 논리적으로 생각하는 대로 구현이 가능하다는 점인 것 같습니다. 백준 문제 풀면서 느끼는 거지만 문제를 보고 바로 코드에 적는 것보다는 어디에 쓰거나 그려가면서 어떤 순서로 코드를 작성할지 생각한 뒤 푸는 게 더 효율적인 것 같습니다. import java.util.* import java.io.* import kotlin.text.* fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val N = br.readLine().toInt() val arr = Array(N,{0}) var left = 0 var right = -1 val st = StringTo..
백준 1744 코틀린 자바랑 코틀린이랑 왔다갔다 하니까 컴파일 에러가 많이 뜨네요. import java.util.* import java.io.* import kotlin.text.* fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val N = br.readLine().toInt(); val arrayList = arrayListOf() val minus_arraylist = arrayListOf() for (i:Int in 1..N) { val k = br.readLine().toInt() if (k > 0) { arrayList.add(k) } else { minus_arraylist.add(k) } } arrayList.sortDescendi..
백준 2739 코틀린 코틀린 반복문을 이용한 문제이고 출력 부분에서 자바라면 System.out.println(N + "*" + i + "=" + N*i) 이런 식으로 + 연산자를 이용하여 출력을 하지만 코틀린에서는 이렇게 하면 에러가 납니다. 코틀린은 문자열 템플릿(String Template)를 제공하기 때문에 출력 형식이 다릅니다. println("$N * $i = ${N * i}") 이렇게 출력문이 나오는데 앞에 달러 표시($)를 이용하여 변수를 넣을 수 있습니다. 뒤에 중괄호는 감이 오시나요? $N * i 하면 N만 변수 표시가 되기 때문에 중괄호로 묶어줍니다. 이렇다 보니 자바에서의 System.out.printf() 출력 메서드를 이용한 포맷팅이 필요가 없어져서 편해진 것 같습니다. import java.io.*..
백준 1330 코틀린 import java.util.*; import java.io.*; fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val st = StringTokenizer(br.readLine()) val A = st.nextToken().toInt() val B = st.nextToken().toInt() if (A < B) { print("

반응형