매일 백준의 알고리즘 문제를 풀며 3문제씩 풀며
한 언어를 마스터 할 것을 목표로 이 글을 작성할 예정입니다.
https://www.acmicpc.net/problem/2908
문자열을 받아 뒤집어서 비교하고 큰 것을 출력하는 문제였다.
코틀린에는.reversed()라는 문자열을 뒤집을 수 있는 함수가 있기에
그것들을 비교하는 조건문을 넣어 출력해 주었다.
import java.util.Scanner
fun main() {
val sc = Scanner(System.`in`)
val n = sc.next().reversed()
val m = sc.next().reversed()
if (n > m){ println(n) }
else { println(m) }
}
https://www.acmicpc.net/problem/5622
이번 문제는 시간을 구해야 하는데 다이열에서 뒤로 갈 수록 1초씩 늘어나기에
문자열을 하나 받고 그것을 하나씩 가져온 다음에when문을 통해서
해당 문자열이 존재하면 time에 시간을 더해주는 식으로 문제를 해결했다.
fun main() {
val str = readlnOrNull()
var time = 0
for (x in str!!.indices)
{
when (str[x])
{
'A', 'B', 'C' -> time += 3
'D', 'E', 'F' -> time += 4
'G', 'H', 'I' -> time += 5
'J', 'K', 'L' -> time += 6
'M', 'N', 'O' -> time += 7
'P', 'Q', 'R', 'S' -> time += 8
'T', 'U', 'V' -> time += 9
'W', 'X', 'Y', 'Z' -> time += 10
}
}
print(time)
}
https://www.acmicpc.net/problem/11718
이 문제는 문자열만 하나씩 받아와 출력을 해주면 되기에
말 그대로 무한 반복문에 입력을 받고 그대로 출력해주는 식으로 풀었다.
fun main(){
while (true) {
val input = readlnOrNull() ?: break
println(input)
}
}
문자열을 다루면 다룰수록 코틀린과 가까워 진다는 것이 느껴져서 좋은 문제들이었다.