Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 9506번 - 약수들의 합 (PYTHON 풀이) 본문
문제:


풀이:
완전수를 구하는 문제이다. 예제처럼 출력되게 만드는 게 급 헷갈려서 헤멨다.. 항상 비쥬얼스튜디오로 먼저 돌려보고 답안을 제출하는데 아래와 같이 코드를 작성하고 실행했을 때 이상 없어서 백준에 올렸더니 틀렸다고 떠서 고민을 많이 했다..
a=int(input())
k=[]
q=0
for i in range(1,a):
if a % i == 0:
k.append(i)
q=sum(k)
if q==a:
print(f"{a} = ", end="")
print(" + ".join(map(str,k)))
else:
print(f"{a} is NOT perfect.")
사람은 역시나 같은 실수를 반복한다고.. -1 을 입력 받았을 때 종료되는 처리를 반영하지 않아서 틀린거였다.
아래와 같이 수정하면 해결된다!~
while True:
a=int(input())
if a==-1:
break
k=[]
q=0
for i in range(1,a):
if a % i == 0:
k.append(i)
q=sum(k)
if q==a:
print(f"{a} = ", end="")
print(" + ".join(map(str,k)))
else:
print(f"{a} is NOT perfect.")
join을 오랜만에 써서 헷갈렸는데 출력 예제처럼 만들기 위해 숫자형인 k를 str형으로 변환하고 각 값 사이에 '+'를 넣어서 예제처럼 출력되게 만들면 된다!
약수 파트가 개인적으로 재미있는 거 같다 얏호
'CODING 💻' 카테고리의 다른 글
| 백준 2581번 - 소수 (PYTHON 풀이) (0) | 2025.09.04 |
|---|---|
| 백준 1978번 - 소수 찾기 (PYTHON 풀이) (0) | 2025.09.03 |
| 백준 2501번 - 약수 구하기 (PYTHON 풀이) (1) | 2025.09.01 |
| 백준 5086번 - 배수와 약수 (PYTHON 풀이) (1) | 2025.08.31 |
| 백준 1264번 - 모음의 개수 (PYTHON 풀이) (0) | 2025.04.08 |
