-Code
import sys
def solution(n):
answer = []
for i in range(1, n):
if n % i == 0:
answer.append(i)
return answer
nums = list(map(int, sys.stdin.read().split()))
for num in nums:
if num == 0:
break
sum_list = sum(solution(num))
if sum_list == num:
res = "PERFECT"
elif sum_list < num:
res = "DEFICIENT"
else:
res = "ABUNDANT"
print(f"{num} {res}")
sqrt를 사용하는 방법을 해봤지만 해결이 안 돼서 완전 탐색 방법으로 바꾸어서 풀었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 20490번 Рыцарский щит (0) | 2025.03.02 |
---|---|
[백준/파이썬] 33538번 Crawling (0) | 2025.03.01 |
[백준/파이썬] 5566번 Штурм (0) | 2025.02.27 |
[백준/파이썬] 5566번 주사위 게임 (0) | 2025.02.26 |
[백준/파이썬] 33541번 2025는 무엇이 특별할까? (0) | 2025.02.25 |