자바(JAVA) - Scanner & BufferedReader

Hamburgerkin9·2023년 4월 14일
0

두 배열 합치기 백준 문제를 풀다가 분명 투 포인터 까지 쓰면서 문제를 풀었는데 타임 초과가 발생하였다. 어떻게 해야 더 시간을 줄일까 고민했지만 답을 얻지 못하였다...

그러던 중 많은 사람들이 자바를 이용하여 백준 문제를 풀 때 입력값을 BufferedReader 로 입력 받던게 기억났다. Scanner 쓰지 왜 저걸 쓰지? 하고 넘어가곤 하였다.

하지만 이번 문제에선 정말 타임 초과를 해결할 방법이 떠오르지 않아 입력값을 받는 두 가지 방법의 차이를 찾아보았다.

좋은 블로그(https://dlee0129.tistory.com/238)를 발견 !!

요약하자면 Scanner는 버퍼가 1kb 크기여서 입력 값이 바로 전달되지만 BufferedReader는 버퍼의 크기가 8kb 크기여서 buffer에 입력들을 저장하였다 한 번에 전송하기 때문에 속도가 더 빠른 것이다.

버퍼를 사용하면 빠른이유 ?
[예시] 귤5개를 옮길 때 하나씩 옮기는 것 보다 바구니에 5개를 담아 옮기는 것이 빠르다.

실행 시간 단축을 위해선 BufferedReader 사용을 고려해야 겠다. 끝 !

profile
개발자

0개의 댓글