언어, 알고리즘 공부/백준

[백준 알고리즘] 1110번 더하기 사이클(Python3, Java)

쿠몬e 2020. 2. 11. 22:43

 

<Python3>

n = nn = int(input())
cycle = 0
while True:
    res = (n // 10) + (n % 10)
    cycle += 1
    n = int(str(n % 10) + str(res % 10))
    if nn == n:
        break

print(cycle)

 

<Java>

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int cnt = 0;
        int temp = n;

        while (true) {
            int a = temp / 10;
            int b = temp % 10;
            cnt++;
            temp = b * 10 + ((a + b) % 10);
            if (temp == n)
                break;
        }
        System.out.println(cnt);
    }
}

 

▼링크

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

 

1110번: 더하기 사이클

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

www.acmicpc.net

 

반응형