갓비니

2020/04/04 코딩 문제 연습(4단계, 5단계/ 백준 10952,10951,1110,10039,5543) C++ 본문

Programming/코딩 문제 풀이

2020/04/04 코딩 문제 연습(4단계, 5단계/ 백준 10952,10951,1110,10039,5543) C++

갓비니 2020. 4. 4. 01:53

4단계(3문제), 5단계(1번,2번) 

4단계 while 1,2,3번
5단계 실습 1번 2번

 

 

 

4단계 while - 2번 (A+B-4) <10951번 문제>

 

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

입력이 없으면 프로그램이 끝나게 하는 것이었다....

이걸 어떻게 한담... 하고 생각했는데

입력이 있는 한 , while문을 동작시키고 while(cin>>a>>b)

\n 해주는 것이다. endl은 별다른 역할이 없었네 ㅎㅎㅎㅎㅎㅎㅎㅎ

endl은 \n보다 실행속도가 느리다고 한다(개행+내부 버퍼를 비워준다고함.)

 

 

 

 

4단계 while - 3번 (더하기 사이클) <1110번 문제>

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
#include <iostream>
using namespace std;
 
//1110번
 
int main() {
    
    int a; //입력받을 수
    int answer;//처음 수
    int sum;//몫과 나머지의 합
    int cycle=0;
 
    cin >> a;
    answer = a;
 
    while (1) {
        
        int q = a / 10//몫
        int r = a%10//나머지
        sum = q + r;
        a = (10 * r) + sum % 10;
        cycle++;
        if (a == answer) { 
            printf("%d", cycle);
            break;
        }
    }
}
 
 
 

이건 왠지 머리가 복잡해지는 문제였다..... ㅠㅠ

cycle++의 위치를 어디로 할까 생각했었다 ㅠ