[JAVA] 아직도 Scanner 쓰니? BufferedReader 사용법


[JAVA] 아직도 Scanner 쓰니? BufferedReader 사용법

안녕하세요 혹시 알고리즘 문제나 백준을 풀 때 Scanner를 사용하시나요? 그렇다면 시간초과로 문제를 풀지 못했던 경험이 있으신가요? 백준에서 시행한 입력 방법에 따른 입력 속도 비교에 의하면, Bufferedreader를 사용했을 때 평균 0.6585초, Scanner를 사용했을 때 평균 4.8448초 소요되는 것을 알 수 있습니다. 그리고 입력받는 데이터의 크기가 커질수록 Scanner는 Bufferedreader와 차이가 계속 벌어질거에요. 출처 : https://www.acmicpc.net/blog/view/56 왜 이렇게 큰 차이가 날까? 이를 이해하려며 BufferedReader의 원리를 알아야 합니다. Scanner는 버퍼를 출력을 할 때 마다 호출하게 설계되어 있습니다. 그에 반해 BufferedReader는 버퍼에 데이터를 계속 작성하고, 원할 때 한번에 호출할 수 있죠. 비유하자면 Scanner는 이삿짐센터 차를 불러서 책상 옮기고, 다시 불러서 의자 옮기고, 다...


#BufferedReader #자바 #스캐너시간초과 #스캐너 #버퍼드리더 #백준자바 #백준시간초과 #백준 #Scanner #자바입출력

원문링크 : [JAVA] 아직도 Scanner 쓰니? BufferedReader 사용법