[Kotlin]PS_1

Hood·2024년 7월 28일

매일PS

목록 보기
1/11
post-thumbnail

✍   Kotlin을 사용한 백준 알고리즘 문제풀이

매일 백준의 알고리즘 문제를 풀며 3문제씩 풀며
한 언어를 마스터 할 것을 목표로 이 글을 작성할 예정입니다.


🔎  18108번

https://www.acmicpc.net/problem/18108

문제를 파악해 보니 입력 값이 2541을 넣었을 때 1998을 출력하기에
입력 값에 543을 빼는 것으로 파악
입력을 받기위해 readln 을 사용한 후 타입 변환을 Int로 바꿔 줌

fun main(){
    var year = readlnOrNull()!!.toInt()
    year -= 543
    print("$year")
}

🔎  10926번

https://www.acmicpc.net/problem/10926

이 문제는 간단히 문자열 뒤에 ??!만 붙여주면 됨

fun main() {
    val name = readlnOrNull()
    print("$name??!")
}

🔎  11382번

https://www.acmicpc.net/problem/11382

3개의 값을 한 줄로 받아야 하기에 split을 사용하여 공백을 기준으로 값을 받음
숫자가 7777로 큰게 있기에 Long타입으로 받아주었고
그렇지 않으면 런타임 오류가 발생했었음

fun main() {
    val (a, b, c) = readln().split(" ").map { it.toLong() }
    print(a + b + c)
}

📌  결론

값을 받기 위해서는 readLine()을 사용하며 타입이 String?으로 들어오기에
!!와 뒤에 .toInt()등 타입 변환을 해줘야 함
또 한 줄에 여러개 받을 때는 split(" ")을 사용하며 .map을 사용하여 각 값을 넣어주고
it.toLong()등으로 한 번에 타입 변환을 시켜줄 수 있었음

profile
달을 향해 쏴라, 빗나가도 별이 될 테니 👊

0개의 댓글