/ BOJ

BOJ_1110_더하기사이클_JAVA

문제 : 더하기사이클

링크 : BOJ_1110_더하기사이클

접근 방식

문제에서 주어진 방식대로 연산을 수행한다.

  1. 10보다 작은 수는 뒤에 0을 붙이기

  2. 각 자리의 수를 더한다.

  3. 주어진 수의 오른쪽 자리 수, 2번에서 구한 수의 오른쪽 자리 수를 이어붙인다.

위 연산을 반복하면서 카운팅하고, 최초의 주어진 수가 나왔을 때 카운팅한 값을 출력하면 된다.

소스 코드

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

public class BOJ_1110_더하기사이클 {

	public static void main(String[] args) throws IOException {

		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

		String N = in.readLine();
		String origin = N.toString();
		if(origin.length() == 1) {
			origin = origin + "0";
		}
		int cnt = 0;
		while (true) {
			cnt++;
			if (N.length() == 1) {
				N = N + "0";
			}

			int A = N.charAt(0) - '0';
			int B = N.charAt(1) - '0';
			int C = A + B;
			if(C >= 10) {
				C = C - 10;
			}
			N = N.charAt(1)+String.format("%d",C) ;

//			System.out.println("N: "+N);
//			System.out.println("ori:"+origin);		
			if(N.equals(origin)) {
				break;
			}

		}


		System.out.println(cnt);
	}

}