코딩테스트/SW Expert Academy
[D2] 1945. 간단한 소인수분해
셂
2024. 10. 11. 09:25
1945. 간단한 소인수분해
✏️ 문제 풀이
- enumerate를 통해 소수의 인덱스(i)와 값을(prime) 함께 가져옴.
enumerate(iterable, start=0)
iterable: 반복 가능한 객체 (예: 리스트, 튜플 등).
start: 인덱스 시작 번호 (기본값은 0)
- ( N )이 현재 소수로 나누어 떨어질 때마다 해당 소수의 지수를 하나 증가
T = int(input())
for tc in range(1, T + 1):
N = int(input())
# 소수 리스트
primes = [2, 3, 5, 7, 11]
# 각 소수의 지수를 저장할 변수
a = b = c = d = e = 0
# 소인수 분해
for i, prime in enumerate(primes):
while N % prime == 0:
if i == 0:
a += 1
elif i == 1:
b += 1
elif i == 2:
c += 1
elif i == 3:
d += 1
elif i == 4:
e += 1
N //= prime # N을 소수로 나누어 갱신
print(f'#{tc} {a} {b} {c} {d} {e}')