스노우보드 참 좋아하는데 맨날 키보드 앞에만 있네

백준 10951 : A+B-4 (테스트케이스 개수가 주어지지 않는 경우) 본문

개발/Algorithm

백준 10951 : A+B-4 (테스트케이스 개수가 주어지지 않는 경우)

워너-비 2018. 2. 10. 18:31

10591 : A+B - 4

테스트케이스 갯수를 입력받지 않는 경우




오늘은 백준 알고리즘 사이트의 10591번 문제에 대해 포스팅 하고자 한다.

일단 먼저 문제 첨부

시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 11254 4551 3898 42.453%

문제

두 수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A,B < 10)

출력

각 테스트 케이스마다 A+B를 출력한다.

예제 입력 

1 1
2 3
3 4
9 8
5 2

예제 출력 

2
5
7
17
7


 

 

해설

 

두 정수를 입력받아 합을 출력하는 문제로 간단하나, 입력받을 정수쌍(테스트케이스)의 개수와 종료 조건이 명시돼있지 않다.

 

따라서 정상적인 프로그램 종료를 위해 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타내야하는 문제가 발생한다.

이런 경우를 파일 끝(End of File, EOF)이라고 한다.

프로그램에서 파일의 끝을 만났음을 알리기 위해 매크로로 정의된 EOF 값을 리턴한다.

 

 

풀이

 

1. C, C++

C언어의 경우 다음 두 가지 방법으로 반복문 처리를 해주면 된다.

 

1
2
while(cin >> a >> b){...} 
while(scanf("%d %d"&a, &b) != EOF){...}



 

소스코드1 (10951.cpp)

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main (void){
 
    int a, b;
 
    whilecin >> a >> b ){
        cout << a+<< endl;
    }
    
    return 0;
}




소스코드2 (10951_2.cpp)

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main (void){
    
    int a,b;
    
    while(scanf("%d %d"&a, &b) != EOF){
        cout << a+<< endl;
    }
 
    return 0;
}





2. JAVA

JAVA의 경우 반복문 안에 hasNext() 메서드를 활용한다.

본 문제에서는 Int형 변수를 입력받기 때문에 has NextInt() 를 사용해도 무방하다.


소스코드3 (10591.class)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        
        Scanner s = new Scanner(System.in);
        
        while(s.hasNextInt()){
            int a = s.nextInt();
            int b = s.nextInt();
            
            System.out.println(a+b);
        }
    }
}



'개발 > Algorithm' 카테고리의 다른 글

백준 1543 : 문서검색  (0) 2018.02.11
백준 2858 : 기숙사 바닥  (0) 2018.02.10
백준 11718 : 그대로 출력하기  (0) 2018.02.10
[JavaScript] 야구게임  (0) 2017.11.01
삼성전자 코드그라운드 S/W Test  (0) 2017.10.27
Comments