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}')
'코딩테스트 > SW Expert Academy' 카테고리의 다른 글
[D2] 1966. 숫자를 정렬하자 (0) | 2024.10.11 |
---|---|
[D2] 1970. 쉬운 거스름돈 (0) | 2024.10.11 |
[D2] 1288. 새로운 불면증 치료법 (1) | 2024.10.10 |
[D2] 1983. 조교의 성적 매기기 (0) | 2024.10.10 |
[D2] 1959. 두 개의 숫자열 (0) | 2024.10.08 |