반응형
문제
풀이
1 ~ 9까지 1글자인 숫자는 1 -> 11, 2 -> 22, 3 -> 33 .. 9 -> 99 와 같이 11을 곱하는 것으로 처리를 하였고
각 자리수를 더하기 = (10의 자릿수는 10을 나눈 값) + (1의 자릿수는 10으로 나눈 나머지 값)
새로운 수 = (주어진 수를 10으로 나눈 나머지 값에서 * 10) + (각 자릿수 더한 값을 10으로 나눈 나머지 값)
count를 세면서 새로운 수가 N값과 같으면 while을 탈출하고 count를 출력하게끔 해서 해결하였다
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int num = N;
int count = 0;
while (true) {
if (count != 0 && N == num) {
break;
}
//1글자 일때
if (num < 10) {
num = num * 11;
count++;
continue;
}
int sum = num / 10 + num % 10;
num = num % 10 * 10 + sum % 10;
count++;
}
System.out.println(count);
}
}
출처
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 15552번 빠른 A+B 자바 java (0) | 2021.04.11 |
---|---|
백준 2884번 알람시계 자바 java (0) | 2021.04.11 |
백준 1436번 영화감독 숌 자바 java (0) | 2021.04.10 |
백준 1018번 체스판 다시 칠하기 자바 java (0) | 2021.04.09 |
백준 7568번 덩치 자바 java (0) | 2021.04.09 |
댓글