DHistory
[Baekjoon] Greedy - 2777 숫자 놀이 (오답노트) 본문
문제
풀이
import sys
t = int(sys.stdin.readline().rstrip())
def solution(number):
if number < 10:
return 1
answer = 0
index = 9
# 가장 큰 수부터 나누며 계속 나눌 수 있는 경우 반복하여 나누어준다.
# 2자리는 1의 자리 2개로 바꿀 수 있으므로 계산하는 의미가 없다.
while index > 1:
if number % index != 0:
index -= 1
continue
answer += 1
number //= index
if number == 1:
return answer
return -1
for _ in range(t):
sys.stdout.write(str(solution(int(sys.stdin.readline().rstrip()))) + "\n")
채점 결과
'Computer Science > Algorithm' 카테고리의 다른 글
[Baekjoon] Greedy - 1931 회의실 배정 (0) | 2023.08.29 |
---|---|
[Baekjoon] Greedy - 2872 우리집엔 도서관이 있어 (오답노트) (0) | 2023.08.28 |
[Baekjoon] Greedy - 2790 F7 (오답노트) (0) | 2023.08.25 |
[Baekjoon] Greedy - 14247 나무 자르기 (0) | 2023.08.25 |
[Baekjoon] Greedy - 15729 방탈출 (0) | 2023.08.25 |