본문 바로가기

Algorithm

[Algorithm] 자바에서의 EOF 처리법

728x90
반응형

자바의 EOF 처리법

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스마다 A+B를 출력한다.

 

알고리즘 문제를 풀다가 입력 개수를 제한하지 않는 문제를 풀게 된 적이 있다.

대부분 N개의 입력을 받는다고 명시하나 해당 문제는 그런게 적혀있지 않아 이상했지만 그냥 풀었다.

역시나.. 일부러 노린 문제였다. 출력초과라는 에러가 났다.

 

해당 문제(A+B-4)

입력 클래스에 대한 정보는 이곳을 참조.

 

사용법

Scanner 클래스

Scanner sc = new Scanner(System.in);

while(sc.hasNextLine()) {

  sc.nextLine();

}

while(sc.hasNextInt()) {

  sc.nextInt();

}

BufferedReader 클래스

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String input = "";

while((input = br.readLine()) != null) {

 

}

Scanner클래스 경우에는 타입에 따른 입력으로 편의를 제공하지만, BufferedReader보다 속도가 느리다.

 

또한 StringTokenizerEOF를 처리하려고 생각할 수 있지만,

해당 구문은 문자열을 입력하는것이 아닌, 입력받은 문자열을 가공하는 역할을 하기 때문에

EOF 처리한다고 보기는 어렵다.

728x90
반응형