본문 바로가기
알고리즘 문제풀이

[Backjoon] 11648번 문제 - 지속

by 마스터누누 2017. 6. 28.
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


반응형

댓글