본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 2][Python] 11648번 : 지속

by 빛밤하늘 2021. 4. 28.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

11648번: 지속

키파는 곱하기를 좋아한다. 그래서 키파는 수를 보면 각 자리 숫자를 모두 곱해서 하나의 수를 만든다. 키파는 기쁘다. 키파는 이 작업을 계속해서 반복한다. 그런데 수가 한 자리가 되었다. 키

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 첫 번째 줄에는 선행하는 0이 없는 9자리 이하의 수를 하나 입력합니다.
num = input()

# 기쁨이 지속될 수 있는 단계의 수를 저장하는 변수를 선언합니다.
happy_phase = 0

# 각 단계의 곱셈의 결과를 잠시 저장하는 변수를 선언합니다.
multiple = 1

# 각 자리 숫자를 모두 곱해서 하나의 수를 만든 후, 한 자리 숫자가 나올 때까지 반복합니다.
while True:
    # 곱셈의 결과가 한 자리 숫자라면 
    if len(str(num)) == 1:
        # 기쁨이 지속될 수 있는 단계의 수를 출력합니다.
        print(happy_phase)
        # 반복문을 탈출합니다.
        break
    
    # 숫자의 한 자리씩 반복합니다.
    for digit in num:
        # multiple에 숫자 하나씩 곱합니다.
        multiple *= int(digit)

    # 기쁨이 지속될 수 있는 단계에 1을 추가합니다.
    happy_phase += 1
    # 곱셈의 결과를 num 변수에 문자열 형태로 저장합니다.
    num = str(multiple)
    # 잠시 저장하는 multiple은 1로 다시 초기화 해줍니다.
    multiple = 1

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글