package sneeThunder

Scanner 와 BufferedReader 본문

Java

Scanner 와 BufferedReader

스니썬더 2022. 8. 11. 02:18

 

Scanner 와 BufferedReader 는 둘 다 사용자(키보드) 입력을 받을 수 있는 기능을 제공한다. 

둘의 가장 큰 차이는 바로 속도이다. 

Scanner 를 사용하는거보다 BufferedReader를 사용하는것이 더 빠르다.

 

그 이유는 버퍼 사이즈에 있는데,. 

Scanner는 버퍼 사이즈가 1024 char로 입력이 바로 전달되는

반면에 BufferedReader는 버퍼 사이즈가 8192 char 이므로

버퍼에 입력들을 저장하였다 한 번에 전송하기 때문에 속도가 더 빠르다.

 

또한, Scanner는 입력을 읽는 과정에서 안에서 정규 표현식 적용, 입력값 분할, 파싱 과정 등 가공을 거치기 때문에 속도가 느리다.(BufferedReader는 String으로 리턴 값이 고정되어 있음. 따라서 다른 타입으로 입력 받으려면 형변환이 반드시 필요하다.+ 예외처리)

 


백준 1001번 


풀이

 

1. Scanner 사용

2. BufferedReader 

 

2-1.StringTokenizer 사용

2-2. split(); 함수사용

 

 readLine() 을 통해 읽어온 값을 split() 함수를 사용하여 공백 단위로 나눠 준다음. String 배열에 값을 저장.

Comments