728x90
반응형
자바의 EOF 처리법
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스마다 A+B를 출력한다.
알고리즘 문제를 풀다가 입력 개수를 제한하지 않는 문제를 풀게 된 적이 있다.
대부분 N개의 입력을 받는다고 명시하나 해당 문제는 그런게 적혀있지 않아 이상했지만 그냥 풀었다.
역시나.. 일부러 노린 문제였다. 출력초과라는 에러가 났다.
입력 클래스에 대한 정보는 이곳을 참조.
사용법
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보다 속도가 느리다.
또한 StringTokenizer로 EOF를 처리하려고 생각할 수 있지만,
해당 구문은 문자열을 입력하는것이 아닌, 입력받은 문자열을 가공하는 역할을 하기 때문에
EOF 처리한다고 보기는 어렵다.
728x90
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스 해시 전화번호 목록 in Java (0) | 2021.04.04 |
---|---|
[Algorithm] 프로그래머스 해시 완주하지 못한 선수 in Java (0) | 2021.04.04 |
[Algorithm] 백준 11283(한글과 유니코드) (0) | 2021.03.18 |
[Algorithm] 시간복잡도와 공간복잡도는 반비례 (0) | 2021.03.18 |
[Algorithm] 시간복잡도 vs 공간복잡도 (0) | 2021.03.18 |