본문 바로가기

코딩테스트 연습(with java)/백준

Scanner VS BufferedReader(백준 2161번)

나는 항상 어떠한 값을 입력받을 때 Scanner을 사용해왔었다. BufferedReader와 Scanner의 차이점이 있다는 것을 알고는 있었지만 실제로 그 차이로 문제를 겪었던 적은 없기 때문에 항상 Scanner만을 사용해왔다. 하지만 이번에 2161번을 풀면서 느끼게 되었다. 

 

canner는 1KB 크기의 버퍼를 갖기 때문에 입력이 바로 전달되는 반면 BufferedReader는 8KB 크기의 버퍼를 가져 buffer에 입력들을 저장하였다 한 번에 전송하기 때문에 속도가 더 빠르다고 하다. 

 

아래는 내가 2161번을 풀면서 계속 에러가 난 코드와 BufferReader을 사용하여 해결한 코드들이다  

 

또한 값을 출력할 때 arraylist 순회문이 아닌, StringBuilder을 통해 효율성을 극대화 해주었다. 

그 결과 ,

바로 해결이 되었다. 

이제는 Scanner와 BufferedReader의 차이점을 알았으니, 상황별로 다르게 사용하도록 노력해보아야 겠다. 

 

'코딩테스트 연습(with java) > 백준' 카테고리의 다른 글

<꾸준히 해나가는 중입니다>  (0) 2022.12.17
2749번  (0) 2022.11.20