수행 일자 : 2021.07.10
https://www.acmicpc.net/problem/10952
문제
- 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
- 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
- 입력의 마지막에는 0 두 개가 들어온다.
출력
- 각 테스트 케이스마다 A+B를 출력한다.
입출력 예제
while을 사용하는 문제이다.
while문은 while(조건문) { } 의 형태로 사용한다.
해당 문제에는 종료 조건이 설정되어 있으므로 while문 안에 if 문을 사용하여 종료 조건을 추가해주면 된다.
Scanner와 BufferedReader/StringBuilder 를 사용하여 총 2가지의 방식으로 풀어볼 수 있다.
1. Scanner
Scanner는 자바에서 사용자에게 입출력을 받을 때에 사용하는 대표적인 클래스이다.
while문 안에서 계속해서 변수를 입력받고, 두 변수의 합을 출력해준다.
만약 입력받은 변수 A,B가 둘다 0일 때에는 종료하도록 if 문 안에 조건을 걸어서 break; 를 걸어준다.
해당 소스는 변수 입력 후에 두 변수의 합이 바로 나온다.
답안 소스 - Scanner
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
int A = sc.nextInt();
int B = sc.nextInt();
if(A==0 && B==0) {
break;
}
System.out.println(A + B);
}
}
}
2. BufferedReader / StringBuilder
BufferedReader는 사용자에게 입출력을 받을 때에 사용하는 클래스인데, 데이터 양이 많거나 빠른 속도가 필요할 때에 주로 사용한다.
[BufferedReader에 대한 자세한 설명은 추후에 추가할 예정이다.]
StringBuilder는 String을 만드는 객체로 변경이 가능한 문자열을 만들어준다.
[StringBuilder 클래스에 대한 자세한 설명은 추후에 추가할 예정이다.]
while문 안에서 계속해서 변수를 입력받고, 두 변수의 합을 출력해준다.
만약 입력받은 변수 A,B가 둘다 0일 때에는 종료하도록 if 문 안에 조건을 걸어서 break; 를 걸어준다.
해당 소스는 두 변수를 계속해서 입력하다가 0과 0을 입력했을 때에 입력했던 두 변수들의 합을 한번에 보여준다.
답안 소스 - 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));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
while(true) {
st = new StringTokenizer(br.readLine()," ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
if(A==0 && B==0) {
break;
}
sb.append(A+B).append('\n');
}
System.out.println(sb);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[1110]더하기 사이클 (0) | 2021.07.17 |
---|---|
[10951]A+B - 4 (0) | 2021.07.11 |
[10871]X 보다 작은 수 (0) | 2021.07.10 |
[2439] 별 찍기 - 2 (0) | 2021.07.04 |
[2438]별 찍기 - 1 (0) | 2021.07.03 |