[백준 알고리즘]/[C++]

1110번 더하기 사이클 | Baekjoon BOJ 백준 1110 C++ 코드, 해설, 풀이

말하는펭귄 2021. 1. 28. 23:40
728x90
반응형

 

 

 

이번 포스팅은 백준 1110번 더하기 사이클입니다.

아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.

www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

 

 

 

기본 알고리즘

연산자 연습 (%, /)

 

참고

변수 설명
origin: N의 값 저장
u: 오른 자리 수
t: 왼 자리 수
s: 왼자리 수와 오른 자리 수를 합해 만든 수의 오른 자리 수
result: 새로운 수
cnt: 답 (사이클 길이)

 

 

 

 

전체 코드

 

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
//백준1110 더하기 사이클
 
#include <iostream>
using namespace std;
 
int main() {
    int N;
    cin >> N;
 
    int origin = N;
    int result = -1;
    int u, t, s;
    int cnt = 0;
 
    while (result != origin) {
        if (N < 10) {
            u = N;
            t = 0;
        }
        else {
            u = N % 10;
            t = N / 10;
        }
        
        s = u + t;
        s = s % 10;
 
        result = u * 10 + s;
 
        N = result;
 
        cnt++;
    }
    
    cout << cnt;
}
cs

 

 

728x90
반응형