본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]9506번 약수들의 합

by 현장 2021. 6. 5.

-코드

while 1:
    arr = []
    num = 0
    n = int(input())
    if n == -1:
        break
    for i in range(1, n):
        if n % i == 0:
            arr.append(i)
    if sum(arr) == n:
        print(f"{n} = {' + '.join(map(str, arr))}")
    else:
        print(f"{n} is NOT perfect.")

처음에 append(str(i))로 입력을 받고 join으로 출력을 하려 했으나 안돼서 찾아보니 map으로 str로 받아서 출력하는 방법을 알게되었고 포멧{}안에 ""로 쓰면 인식이 제대로 안되기 때문에 ''로 해주었습니다.