본문 바로가기

코딩 개발자의 하루/Python Programming

[백준 9506번] 약수들의 합

오랜만에 파이썬 공부를 시작했다..

함수, 기초 문법을 다 잊어버려서 기억나는 선에서 최대한 직관적인 코드를 작성해보았다.

 

효율적인 코드 완성을 위해 외부 코드 참고를 바탕으로 수정하여 내 것으로 만들어야겠다.

while 1:
    n = int(input())
    if n == -1:
        break;
    else:
        num = []
        ##약수
        for i in range(1, n):
            if n%i == 0:
                num.append(i)

        if sum(num) == n:
            print("{} = {}".format(sum(num), num[0]), end="")
            for i in range(1, len(num)):
                print(" + {}".format(num[i]), end="")
            print("")
        else:
            print("{} is NOT perfect.".format(n))

[수정 전 코드]

 

while 1:
    n = int(input())

    if n == -1:
        break;
    num = []
    for i in range(1, n):
        if n % i == 0:
            num.append(i)
    if sum(num) == n:
        print(n, " = ", " + ".join(str(i) for i in num), sep="")
    else:
        print(n, "is NOT perfect.")

[수정 후 코드]

 

*출처: https://blockdmask.tistory.com/468

 

*출처: https://infinitt.tistory.com/11