Algorithm/백준

[백준] 1110 더하기 사이클 C++

nowkoes 2023. 1. 9. 18:33

문제 설명

입출력 예제

풀이

#include <iostream>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    // 입출력 시간 절약
    int num;
    cin >> num;

    int Result = num;
    int count = 0;

    while (true)
    {
        int tens = num / 10;
        int units = num % 10;
        num = 10 * units + (tens + units) % 10;

        count++;

        if (num == Result)
            break;
    }

    cout << count;
}

알고리즘

  • 정수를 입력받았을 때, 그 정수로 다시 돌아와야 하는 숫자를 새로운 변수 Result에 저장한다.
  • 정수를 10의 자리와 1의 자리로 나눈 후, 해당 알고리즘에 맞게 계산해 num에 저장한다.
  • num과 Result가 일치하면 반복문을 탈출하고, 그렇지 않으면 사이클 횟수를 더한다.
반응형

'Algorithm > 백준' 카테고리의 다른 글

[백준] 1316 with C++  (0) 2023.02.18
[백준] 2941 with C++  (0) 2023.02.17
[백준] 4673 with C++  (0) 2023.02.16
[백준] 2839 C++  (0) 2023.01.24
[백준] 1978 C++  (0) 2023.01.23