코틀린 표준 입출력 시간 줄이기

코틀린 백준 시간초과 해결

토스에 가기 위해 열심히 백준을 통해 코테 준비를 하고 있었다. 그런데 계속 올바른 로직인데도 불구하고 계속 시간 초과가 뜨길래 어떻게 하면 입출력 시간을 줄일 수 있을까… 고민했다가 드디어 해결했다!

그래서 나와 같은 문제를 겪으시는 분이 분명 또 있을거라 해결 방법을 공유한다.

코틀린에서 readLine을 통해 값을 입력받는다. 이 방법 대신에

val br = BufferedReader(InputStreamReader(System.`in`))
br.readLine()
br.close()

BufferedReader 를 사용하자. 훨씬 빨라진다.

코틀린에서 println을 통해 값을 출력한다. 이 방법 대신에

val bw = BufferedWriter(OutputStreamWriter(System.out))
bw.write("${deque.poll() ?: -1}\n")
bw.flush()
bw.close()

BufferedWriter 를 사용하자. 얘는 끝에 줄바꿈이 되지 않아 직접 \n 을 끝마다 붙여줘야 한다.

끝!

Photo by Jeffery Ho on Unsplash

iOS 개발자를 꿈꾸는 토스팀 안드로이드 취준생 / github.com/jisungbin