1. 틀리게 된 이유.

"입력은 여러 개의 테스트 케이스로 이루어졌다." 라는 조건이 있으므로, 몇 개의 테스트 케이스를 사전에 미리 정한 것이 아닌 계속해서 테스트 케이스를 입력하여 결과를 출력하게끔 하는 것이라고 이해했기에 while문을 이용해 무한 루프를 돌려주었다. 하지만 그 결과 출력초과로 인해 답이 틀렸다고 채점결과가 뜨게 되었다. 

출력초과라는 말이 나온다는 것은 내가 문제의 조건보다 더 광활하게 잡았을 가능성이 크다.

그렇다면 while문에 무슨 조건을 넣어야 출력초과라는 말이 걸리지않고 문제 조건을 만족할 수 있을까

 

 

2. 필요한 개념

EOF라는 것에 대해 알고있어야 풀 수 있는 문제였다. 

EOF란 End Of File 을 뜻하며 파일의 끝을 표현하기 위해 사용하는 상수다.

 

 

3. 고친 코드 

#include <iostream> 
using namespace std; 
int main(){ 
    int a; int b; 
    while(cin >> a >> b){ 
        cout << a+b<<endl; 
    } 
    return 0; 
}

while문의 조건에 cin을 넣을 수 있다는 것을 처음 알게 되었다. 

a와 b값을 받는 cin이 종료되기 전까지 계속해서 while문에 들어있는 코드를 실행하겠다는 의미로 해석된다.

 

 

'프로그래밍 언어 💬 > C++' 카테고리의 다른 글

[백준] 2439번, 2440번, 2441번 [별찍기 (1)]  (0) 2020.12.31
문자열을 나타내기 위한 클래스 "string"  (0) 2020.12.30
[백준] 11720번  (0) 2020.12.26
[백준] 10953번  (0) 2020.12.26
C언어 기초-포인터(1)  (0) 2020.10.31