본문 바로가기
스터디(beakjoon)

Kotlin] 백준 10951번 문제 풀이

by 김마리님 2023. 4. 18.

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

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

풀이

더보기

EOF(End Of File)를 판단하는 문제이다.

입력의 끝은 어디일까? 더 이상 입력이 들어오지 않을 때이다.

즉, readLine의 다음 줄이 비었거나, 공백으로 들어오는 경우이다.

코틀린에선 isNullOrEmpty를 이용해 손쉽게 처리할 수 있다. 첫 줄에서 해당 매서드를 이용해 공백을 판단하고, 공백이 아닐 시 split(" ")를 이용해 숫자를 나누고, 이를 더하면 종료된다.

 

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

fun main(args: Array<String>) {
    question10951()
}

fun question10951() {
    var reader = BufferedReader(InputStreamReader(System.`in`))
    var writer = BufferedWriter(OutputStreamWriter(System.out))

    while (true) {
        var numbersString = reader.readLine()
        if (numbersString.isNullOrEmpty()) {
            break
        }

        var numbers = numbersString.split(" ").map { it.toInt() }

        writer.write("${numbers.sum()}")
        writer.newLine()
    }

    writer.flush()
}
반응형