import java.util.Scanner;
public class Main {
public static void main(String[] arge) {
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int new_num = input;
int cnt = 0;
while(true) {
int num1 = input / 10;
int num2 = input % 10;
input = num1 + num2;
input = input % 10;
input = (num2 * 10) + input;
cnt++;
if(new_num == input) {
break;
}
}
System.out.println(cnt);
}
}
○ 문제 요약
숫자를 입력받아 일의 자리 수와 십의 자리 수를 더해서 만든 새로운 숫자가 처음 입력받은 숫자와 같아지려면 몇 번 수행을 해야 하는지 구해라.
○ 문제 풀이
1) 28을 입력받아서 int num1 = input / 10으로 십의 자리를 구한다. int num2 = input % 10으로 일의 자리를 구한다.
2) num1와 num2를 더해서 새로운 숫자를 만든다.
3) 앞에서 구한 num2에 10을 곱하여 새로운 숫자와 더하고 횟수를 1번 증가시켜준다.
4) 1번 ~ 3번 과정을 계속 수행해서 만들어진 숫자가 처음 입력받은 숫자와 같을 때, 횟수를 출력해준다.
○ 결과
'문제풀이 > 백준' 카테고리의 다른 글
백준 4344. 평균은 넘겠지(JAVA) (0) | 2022.03.19 |
---|---|
백준 1260. DFS와 BFS(JAVA) (0) | 2022.03.18 |
백준 16173. 점프왕 쩰리(Small)(JAVA) (0) | 2022.03.16 |
백준 1715. 카드 정렬하기(JAVA) (0) | 2022.03.14 |
백준 1927. 최소 힙(JAVA) (0) | 2022.03.13 |