[BOJ] 10951_A+B-4 (테스트케이스가 주어지지 않은 경우)

gogori6565·2022년 7월 18일
0
post-custom-banner

💡 테스트케이스가 주어지지 않은 경우

백준 10951번 문제에서 핵심 포인트는 테스트케이스가 주어지지 않은 경우이다. 이 문제를 푸는 핵심은 EOF(End Of File) 를 아는 것이다. 지금부터 EOF에 대해 알아보자.

EOF (End Of File)

: 파일의 끝을 알리는 함수로 -1의 값을 가지며, 콘솔 창에서는 Ctrl+Z 가 EOF 를 의미한다.

cin.eof() 함수

C++에서는 cin.eof() 함수가 bool 타입을 가지며 EOF를 읽으면 true값으로 변경된다.

[풀이 1]

#include<iostream>
using namespace std;

int main(void)
{
    cin.tie(NULL); ios_base::sync_with_stdio(false);

    int a,b;

    while(1)
    {
        cin>>a>>b;
        if(cin.eof()==true) break;
        cout<<a+b<<"\n";
    }
    return 0;
}

while문 조건 안의 cin함수

while문의 조건 안에 cin함수를 넣으면 정상적인 입력이 아닐 경우 자동적으로 종료되게 할 수 있다.

  • 조건 안의 cin함수가 입력이 있을 경우 true를, 입력이 없을 경우 false를 리턴하게 된다.

[풀이 2]

#include<iostream>
using namespace std;

int main(void)
{
    cin.tie(NULL); ios_base::sync_with_stdio(false);

    int a,b;

    while(cin>>a>>b)
    {
        cout<<a+b<<"\n";
    }
    return 0;
}

문제 출처 : https://www.acmicpc.net/problem/10951

profile
p(´∇`)q
post-custom-banner

0개의 댓글