PS/Baekjoon

[Baekjoon] 1110 - 더하기 사이클

서현 SEOHYEON 2023. 1. 11. 13:50

📝 문제

 

 

🔑 풀이 과정

주어진 수가 10보다 작으면, 앞에 0을 붙여 두 자리수로 만든 뒤, 각 자리수를 더한다 나와있는데,

굳이 num이 10보다 작을 때(각 자리수의 합 = num), 클때로 경우를 나눠어서 계산하지 않아도

int sum = (num / 10) + (num % 10);

식으로 전부 계산이 된다. 그래서 경우를 따로 나누지 않았다.

 

 

 

🔓 답안

import java.io.*;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int N = Integer.parseInt(br.readLine());
        int num = N;

        int cycle;
        for(cycle = 1; ; cycle++){
            int sum = (num / 10) + (num % 10);
            num = ((num % 10) * 10) + (sum % 10);

            if(num == N)
                break;
        }

        bw.write(cycle + "\n");
        bw.flush();
        bw.close();
    }

}