수행일자 : 2021.07.11
https://www.acmicpc.net/problem/10951
문제
- 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
- 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
- 각 테스트 케이스마다 A+B를 출력한다.
입출력 예제
while을 사용하는 문제이다.
10952번과 달리 종료시점에 대한 정의가 되어있지 않기 때문에 더 이상 읽을 수 없는 데이터인 EOF(End of File)을 이용하여 종료시점을 잡아줘야 한다.
- EOF란, 더 이상 읽을 수 있는 데이터가 없음을 나타내는 용어로 주로 입력할 데이터의 개수가 총 몇개인지, 종료시점이 언제인지 등에 대해 명시되어있지 않을 때 주로 사용한다.
Scanner와 BufferedReader/StringBuilder 를 사용하여 총 2가지의 방식으로 풀어볼 수 있다.
1. Scanner
Scanner는 자바에서 사용자에게 입출력을 받을 때에 사용하는 대표적인 클래스이다.
while문 안에서 계속해서 변수를 입력받고, 두 변수의 합을 출력해준다.
EOF 발생 시, 예외처리를 발생시켜 입력 및 출력을 종료한다.
- EOF입력 방법은 숫자가 아닌 문자 즉, 영문자나 특수문자 등을 입력해주면 된다.
답안 소스 - Scanner
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()) {
int A = sc.nextInt();
int B = sc.nextInt();
System.out.println(A+B);
}
}
}
2. BufferedReader / StringBuilder
BufferedReader는 사용자에게 입출력을 받을 때에 사용하는 클래스인데, 데이터 양이 많거나 빠른 속도가 필요할 때에 주로 사용한다.
[BufferedReader에 대한 자세한 설명은 추후에 추가할 예정이다.]
StringBuilder는 String을 만드는 객체로 변경이 가능한 문자열을 만들어준다.
[StringBuilder 클래스에 대한 자세한 설명은 추후에 추가할 예정이다.]
while문 안에서 계속해서 변수를 입력받고, 두 변수의 합을 출력해준다.
EOF 발생 시, 예외처리를 발생시켜 입력 및 출력을 종료한다.
- EOF입력 방법은 ctrl + Z 혹은 ctrl + D 를 눌러주면 된다.
답안 소스 - BufferedReader / StringBuilder
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
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());
sb.append(A+B).append("\n");
}
System.out.print(sb);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[10818]최소, 최대 (0) | 2021.07.21 |
---|---|
[1110]더하기 사이클 (0) | 2021.07.17 |
[10952]A + B -5 (0) | 2021.07.11 |
[10871]X 보다 작은 수 (0) | 2021.07.10 |
[2439] 별 찍기 - 2 (0) | 2021.07.04 |