[Algorithm/Java] 입력 개수가 없을 때 EOF 처리하기
EOFException 이란?
EOFException
은 Java에서 파일의 끝(End of File)에 도달했을 때 발생하는 예외
- Java에서
BufferedReader.readLine()
은 EOF(입력 종료)에 도달하면null
을 반환 - 이를 활용해 입력 개수가 주어지지 않은 문제도 해결 가능
예시
백준 10820번
입력 개수가 정해져 있지 않고, 파일 끝(EOF) 까지 문자열을 계속 받아 처리해야 함
https://www.acmicpc.net/problem/10820
입력: 22
String line;
while ((line = br.readLine()) != null) {
// 로직
}
br.readLine()
이 문자열을 한 줄씩 읽음- 더 이상 읽을 줄이 없으면 null을 반환 -> while 종료
백준 5671번
입력은 여러 줄로 주어지며, 각 줄은 두 개의 숫자 n, m을 가짐
https://www.acmicpc.net/problem/5671
입력:
22 44
35 36
String line;
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line); // 공백 기준 입력
// 로직
}
한 줄을 통째로 읽은 뒤 StringTokenizer
로 공백 기준 분리
댓글남기기