#10953번




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
 
using namespace std;
 
int main()
{
    int A, B;
    int T;
    cin >> T;
    for (int i = 0; i < T; i++)
    {
        scanf("%d,%d"&A, &B);
        cout << A + B << endl;
    }
}
cs


#10952번 



여러번 틀렸습니다.. 왜인지 도저히 모르겠었는데 endl처리를 안해줘서 그랬습니다.

사소한 실수 같은것들 조심해야 할 것 같습니다!

 문제를 똑바로 읽도록 하겠습니다ㅎㅎ




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
 
using namespace std;
 
int main()
{
    int A, B;
    while (1)
    {
        cin >> A >> B;
        if (A == 0 && B == 0)
        {
            return 0;
        }
        cout << A + B<<endl;
    }
}
cs


10951번 문제입니다.




저는 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<iostream>
 
using namespace std;
 
int main()
{
    int A, B;
    while (1)
    {
        while (1)
        {
            cin >> A;
            if (A <= 0)
            {
                rewind(stdin);
            }
            else
            {
                break;
            }
        }
        while (1)
        {
            cin >> B;
            if (B >= 10)
            {
                rewind(stdin);
            }
            else
            {
                break;
            }
        }
        cout << A + B<<endl;
    }
    return 0;
}
 
cs


처음에 이렇게 풀었는데, 출력초과 결과가 나왔습니다. 종료 조건이 따로 명시되어 있지 않아서 계속해서 받을 수 있게 했는데, 그게 아니었나 봅니다. 

EOF를 이용해야하는 문제라고 합니다.

그래서 재코딩 해보았습니다.



근데, 계속해서 scanf_s에서 컴파일에러가 나서 stdio.h 헤더도 추가해보고, 삽질 엄청했는데..

백준은 scanf_s가 적용이 안되는 것 같습니다..

그냥 scanf_s를 scanf로 고쳐주니 정답처리 되었습니다

이 글을 보시는 분들은 이걸로 삽질하지 마세요~!


정답처리된 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<stdio.h>
 
using namespace std;
 
int main()
{
    int A, B;
    
    while (scanf("%d %d"&A,&B)!=EOF)
    {
        cout << A + B << endl;
    }
}
 
cs




*참고로 EOF에 대해서 설명을 드리자면,

scanf는 입력받은 갯수를 리턴합니다.

만약에 scanf("%d",&A); 에서 입력이 제대로 들어왔다면 1이 리턴됩니다.

scanf("%d %d",&A,&B); 입력이 제대로 들어왔다면 2가 리턴되겠죠??

그리고 에러가 발생하거나 EOF(End Of File) 파일의 끝을 만나면 -1을 리턴합니다.

EOF는 상수 -1로 정의가 되어있습니다.  



오늘은 입출력에 대한 문제를 풀어보았어요! 문제가 쉬워서 한번에 4개 업로드 합니다!



#2557번


1
2
3
4
5
6
7
8
9
10
#include<iostream>
 
using namespace std;
 
int main()
{
    std::cout << "Hello World!\n";
 
    return 0;
}
cs



#1000번

1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
 
using namespace std;
 
int main()
{
    int A, B;
    cin >> A >> B;
    cout << A + B;
 
    return 0;
}
cs



#2558번


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<iostream>
 
using namespace std;
 
int main()
{
    int A, B;
    while (1)
    {
        cin >> A;
        if (A <= 0)
        {
            cout << ("0보다 큰 수를 입력하세요: ");
            rewind(stdin);
        }
        else
            break;
    }
    while (1)
    {
        cin >> B;
        if (B > 10)
        {
            cout << ("10보다 작은 수를 입력하세요: ");
            rewind(stdin);
        }
        else
            break;
    }
 
    cout << A + B;
 
    return 0;
}
cs



#10950번


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<iostream>
#include<vector>
 
using namespace std;
 
int main()
{
    int A, B;
    int T = 0;    //테스트 케이스
    vector<int> sum;
    cin >> T;
 
    for (int i = 0; i < T; i++)
    {
        cin >> A >> B;
        sum.push_back(A + B);
    }
 
    for (int i = 0; i < T; i++)
    {
        cout<<sum[i]<<endl;
    }
 
    return 0;
}
cs


10950번 문제는 다른분들 보니까 다양하게 푸셨더라고요! 처음에 배열로 할까 생각하다가, T값에 따라 달라지기 때문에

유동적으로 크기를 조절할 수 있는 백터를 사용해야겠다 생각을 하고 코딩했습니다. 



질문사항 있으시면 댓글남겨주세요 :)


+ Recent posts