728x90
반응형

단순 구현 문제이다. 입력을 한 번에 다 받기 위해 stdin.read() 함수를 사용했다. 

stdin.read()함수를 몰라서 어제 삽질하다가 결국 못 풀었던 문제인데, 방금 알아서 바로 통과했다.

import sys

nums = list(map(int, sys.stdin.read().split()))
for n in nums:
    if n == 0:
        break
    li = []
    for i in range(1, n):
        if n % i == 0:
            if i not in li:
                li.append(i)
            if n//i not in li and n//i != n:
                li.append(n//i)
    if sum(li) == n:
        print(f"{n} PERFECT")
    elif sum(li) < n:
        print(f"{n} DEFICIENT")
    else:
        print(f"{n} ABUNDANT")
728x90
반응형

+ Recent posts