728x90
반응형
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
문제 접근 방법
언뜻 보면 단순히 수를 입력받아 두 수의 합을 출력하면 되는 것처럼 보이지만, 입력이 몇 줄이 올 줄 몰라 *EOF를 구분하여 입력을 알아서 종료해야 한다. 따라서 hasNext함수를 이용해 다음 입력이 있는지 확인하고 입력이 없으면 입력을 종료하여야 한다.
*EOF(End Of File): 파일이 끝났다. 즉, 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 의미.
JAVA 코드 풀이
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
int a, b;
while(input.hasNextInt()){ // EOF까지 입력을 반복해 받는다.
a = input.nextInt();
b = input.nextInt();
System.out.println(a+b);
}
}
}
후기
이전 문제들은 테스트 케이스가 몇 개 올 것인지 미리 입력을 통해 알려줬다면 이번 문제는 알아서 EOF를 찾아 입력을 종료하고 결과물을 출력해야 하는 문제였다. 문제를 풀다 보면 이런 문제도 많은데 보이지 않는 white space 때문에 원치 않는 결과가 나오는 경우가 있으니 보이는 것이 전부가 아니란 것을 항상 염두에 뒀으면 좋겠다.
문제 원본
728x90
반응형
'문제 풀이 > [JAVA_자바] 백준' 카테고리의 다른 글
[JAVA / 자바] 백준 10818번 - 최소, 최대 (0) | 2021.12.06 |
---|---|
[JAVA / 자바] 백준 1110번 - 더하기 사이클 (0) | 2021.12.04 |
[JAVA / 자바] 백준 15552번 - 빠른A+B (0) | 2021.12.02 |
[JAVA / 자바] 백준 2753번 - 윤년 (0) | 2021.12.01 |
[JAVA / 자바] 백준 9498번 - 시험성적 (0) | 2021.11.30 |