백준 9506번 약수들의 합 (python)

마뇽미뇽·2025년 5월 21일
0

알고리즘 문제풀이

목록 보기
133/165

1. 문제

https://www.acmicpc.net/problem/9506

2. 풀이

📚 ' + '.join(map(str, arr)) 배열 사이에 문자열 끼워넣을때 사용한다!

반복문 사이에 배열과 조건문 사용해서 약수인 경우 배열에 추가한 후 sum(arr)와 n값이 같은 경우 완전수 임으로 배열값을 for문을 사용해 하나씩 출력하면서 결과값을 출력하도록 아닌경우는 is NOT perfect.를 출력한다.

3. 코드

while True:
    n = int(input())

    if n == -1:
        break

    arr = []
    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.')

4. 여담

NOT이다... Not 아니다..

profile
Que sera, sera

0개의 댓글