[Scala] BOJ 10951: A+B - 4

YumeIroVillain·2023년 7월 29일
0

Chisel 독학

목록 보기
7/44

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식으로 해독하는 등 골때리는 상황이 연출되었다.

profile
HW SW 둘다 공부하는 혼종의 넋두리 블로그 / SKKU SSE 17 / SWM 11th

0개의 댓글