백준 - 1110번: 더하기 사이클 (Bronze I)
import java.io.*;
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 first = n / 10;
//오른쪽 숫자
int second = n % 10;
//리턴할 횟수
int result = 0;
//while문은 계속 반복하다가 조건에 맞으면 탈출할 수 있도록 true 넣기
while (true) {
//while문이 시작하자마자 바로 횟수 + 1
result++;
//왼쪽 숫자와 오른쪽 숫자를 더해서 새로운 숫자를 만들고
int create = first + second;
//왼쪽 숫자에는 오른쪽 숫자를 재할당
first = second;
//오른쪽 숫자에는 새로 만든 숫자의 1의 자리 숫자를 할당
second = create % 10;
//만약 왼쪽 숫자와 오른쪽 숫자가 처음 주어진 숫자와 동일하다면 break
if (first == n / 10 && second == n % 10) break;
}
System.out.println(result);
}
}
위의 코드에서는 사용하지 않았지만 숫자의 자리 형식을 지정하기 위해서는 DecimalFormat을 사용하면 됨