https://www.acmicpc.net/problem/10951
import scala.io.StdIn
object Main{
def main(args:Array[String]):Unit = {
var line: String = ""
while({line = StdIn.readLine(); line != null}) {
val ints = line.split(" ")
val a:Int = ints(0).toInt
val b:Int = ints(1).toInt
println(a+b)
}
}
}
역시 삽질 좀 했다.(20분)
관건은, t를 미리 받지 않고, 무제한 input stream에서 EOF를 어떻게 감지하느냐다.
내 삽질은 아래와 같다.
1. var line: String = ""
를 선언하지 않았다.
while({line = StdIn.readLine(); line != null}) {
에서, line을 var line:으로 선언해버린다면, {} 내에서 scope가 끝나버리기 때문에 정작 아래 while문에서 line 을 찾지 못한다.
2. val ints = line.split(" ")
를 빼먹었다.
그래서, "1 1"이 그대로 입력되었을 때,
1을 ascii decimal인 49로 해독하고, space는 space(0d32)대로 ascii식으로 해독하는 등 골때리는 상황이 연출되었다.