알고리즘 문제풀이
[Backjoon] 11648번 문제 - 지속
마스터누누
2017. 6. 28. 14:56
728x90
반응형
키파는 곱하기를 좋아한다. 그래서 키파는 수를 보면 각 자리 숫자를 모두 곱해서 하나의 수를 만든다. 키파는 기쁘다. 키파는 이 작업을 계속해서 반복한다. 그런데 수가 한 자리가 되었다. 키파는 슬퍼졌다.
키파의 기쁨이 지속될 수 있는 것이 몇 단계인지를 출력하는 프로그램을 작성하시오. 예를 들어 679라면:
- 679 → 6*7*9 = 378 (1단계)
- 378 → 3*7*8 = 168 (2단계)
- 168 → 1*6*8 = 48 (3단계)
- 48 → 4*8 = 32 (4단계)
- 32 → 3*2 = 6 (5단계: 키파는 슬퍼졌다.)
키파는 5단계만에 슬퍼지므로 5를 출력하면 된다.
풀이
문자열 배열로 바꾼 후 반복문을 돌며 모든 배열값을 곱한 값을 구한다.
그리고 이 값을 다시 문자열로 변환하여 배열로 바꾸어준다.
이 배열의 길이 1이될때까지 반복한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.util.Scanner; /** * Created by homr on 2017. 6. 28.. */ public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String[] str = sc.next().split(""); int count = 0; while(str.length!=1){ int num = 1; for(int i =0; i<str.length; i++){ num *= Integer.parseInt(str[i]); } str = Integer.toString(num).split(""); count++; } System.out.print(count); } } | cs |
반응형