본문 바로가기
코딩공부/백준 (java)

[백준 1110] 더하기 사이클 (java)

by CodingKwon 2021. 7. 2.

문제 링크

https://www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

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

www.acmicpc.net

 

나의 코드 (java)

import java.util.Scanner;

public class Main {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        // 입력받기
        int n = sc.nextInt();
        // 사이클 마다 변하는 값을 받을 변수
        int tmp = n;
        // 사이클 수
        int count = 0;
        while (true){
            // a : 십의 자리 수
            int a;
            if (tmp < 10){
                a = 0;
            } else {
                a = tmp / 10;
            }
            // b : 일의 자리수
            int b = tmp % 10;
            // c : a + b의 값
            int c = a + b;
            // tmp에 새로운 수를 만든다.
            tmp = (b * 10) + (c % 10);
            // 연산이 끝났으니 사이클 수를 1회 올림
            count += 1;
            // 입력받은 값과 새로운 수를 비교 : 같으면 종료, 다르면 사이클 반복
            if (n == tmp){
                break;
            }
        }
        // 사이클 수 출력
        System.out.println(count);
    }
}

'코딩공부 > 백준 (java)' 카테고리의 다른 글

[백준 2562] 최댓값 (java)  (0) 2021.07.05
[백준 10818] 최소, 최대 (java)  (0) 2021.07.05
[백준 10951] A+B - 4 (java)  (0) 2021.07.02
[백준 10952] A+B - 5 (java)  (0) 2021.07.02
[백준 10871] X보다 작은 수 (java)  (0) 2021.07.02

댓글