코딩공부/백준 (java)
[백준 1110] 더하기 사이클 (java)
CodingKwon
2021. 7. 2. 16:10
문제 링크
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);
}
}