BOJ_1110_더하기사이클_JAVA
문제 : 더하기사이클
링크 : BOJ_1110_더하기사이클
접근 방식
문제에서 주어진 방식대로 연산을 수행한다.
-
10보다 작은 수는 뒤에 0을 붙이기
-
각 자리의 수를 더한다.
-
주어진 수의 오른쪽 자리 수, 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);
}
}