[문제 링크]
https://www.acmicpc.net/problem/10951
문제 설명
- 두 정수 A, B를 입력받아서 A와 B를 더한 값 출력
- 여러 개의 테스트 케이스로 이루어져 있고, 테스트 케이스 횟수는 정해져있지 않다.
- 입력 종료는 더이상 읽을 수 없는 데이터(EOF)
- 입력: A, B
- 출력: A+B
문제 풀이
(1) Scanner 사용
- hasNext() 함수를 사용해서 EOF일 경우 False 반환, 값이 있는 경우 True 반환
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a + b);
}
}
}
(2) BufferedReader 사용
- str에 입력받은 데이터가 null일 때까지 계속 입력을 받도록 조건 설정
- (str = br.readLine()) != null → EOF일 경우 False 반환, 값이 있는 경우 True 반환
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
String str;
while ((str = br.readLine()) != null) {
st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
bw.write(a+b + "\n");
}
bw.flush();
bw.close();
}
}
✔️체크
EOF란?
End Of File의 약자로, 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 말한다.
알고리즘에서 입력값을 얼마나 받을지 명시하지 않을 경우 EOF를 사용한다.
입력에서 더 이상 읽을 수 있는 데이터가 존재하지 않으면 종료한다.
'PS > 백준' 카테고리의 다른 글
[백준][Java] 18870번 : 좌표 압축 (0) | 2024.09.17 |
---|---|
[백준][Java] 11720번 : 숫자의 합 (0) | 2024.08.20 |
[백준][Java] 1260번 : DFS와 BFS (0) | 2024.08.20 |
[백준][Java] 27866번 : 문자와 문자열 (0) | 2024.06.26 |
[백준][Java] 11382번 : 꼬마 정민 (0) | 2024.04.17 |