Hanbit the Developer

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

Algorithm/백준

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

hanbikan 2021. 4. 25. 18:17

www.acmicpc.net/problem/4673

def d(n):
    RET = n
    for c in str(n):
        RET += int(c)
    return RET


isSelfNumberList = [True]*10001

for i in range(10000):
    curD = d(i)
    if curD <= 10000:
        isSelfNumberList[curD] = False

for i in range(10000):
    if isSelfNumberList[i]:
        print(i)

우선 d() 함수를 구현하고, isSelfNumberList를 만든다.

for문을 10000까지 돌면서 isSelfNumberList의 d(i) 인덱스의 값을 False로 만들어준다.

마지막으로 for문을 돌면서 True인 인덱스들을 출력해준다.