https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pl0Q6ANQDFAUq

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 


풀이 및 해석(주석)

for tc in range(int(input())):
    num = int(input())
    a, b, c, d, e = 0, 0, 0, 0, 0
    while num != 1:         # 입력받은 숫자가 1이 된 경우 종료
        if num % 11 == 0:   # 11부터 차례대로 탐색하고 각 숫자 변수에 넣어주기
            num = num//11
            e += 1
        elif num % 7 == 0:
            num = num//7
            d += 1
        elif num % 5 == 0:
            num = num//5
            c += 1
        elif num % 3 == 0:
            num = num//3
            b += 1
        elif num % 2 == 0:   # 마지막 이 과정에서 1이 될 것임
            num = num//2
            a += 1
    print(f'#{tc+1}', a, b, c, d, e)

 


후기

그렇게 어렵지는 않은 문제였다. 코드의 해석은 주석에 달아놨다.

나는 코드를 짤 때 어쩌다보니 11부터 시작을 했는데, 2부터 시작하면 에러가 나는지 궁금하긴하다.

근데, 11부터 시작하는게 맞는것같다.

복사했습니다!