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 |