Home [Python] 백준 4673번 : 셀프 넘버
Post
Cancel

[Python] 백준 4673번 : 셀프 넘버

Problem

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

Solution

1
2
3
4
5
6
7
8
9
10
selfnum = set()
for i in range(1, 10000):
    sum = i
    for j in str(i):
        sum+=int(j)
    selfnum.add(sum)

for i in range(1, 10000):
    if (i not in selfnum):
        print(i)

Memo

위 문제를 해결하기 위해 중복이 허용되지 않는 자료형인 set를 활용하였다. 우선 for문을 돌며 1부터 10000까지의 수 중 셀프넘버가 아닌(더해서 만들어 낼 수 있는) 수를 selfnum 세트에 저장한다. 이후 1부터 다시 for문을 돌며 세트에 포함되지 않은 수를 출력하는 방식으로 구현하였다.

Ref.

https://wikidocs.net/1015
https://wikidocs.net/16044

This post is licensed under CC BY 4.0 by the author.

[C언어] 코드업 1091 : 수 나열하기3

[Python] 백준 15596번 : 정수 N개의 합