백준 #3 (구현) - 셀프넘버

ims·2021년 6월 14일
0

백준 문제풀이

목록 보기
3/17
post-custom-banner

📌 문제

문제 이해가 쉽지 않았다.
문제 이해가 안돼서 해설을 참조했다.

🔥 셀프넘버란?

850 => 850 + 8+ 5+ 0 = 863

863은 셀프넘버

다시 863 => 863 + 8 + 6 + 3 = 880

셀프넘버를 계속해서 파고드는 것으로 구하는 방법을 생각했는데, 그냥 1~10000 loop를 돌리면 어차피 모든 수에 대해서 self number가 세진다.

위의 예로 보면, 850 -> 880 까지 구할 필요 없이, 850에서 863을 구하고 set에 추가한다음에 끝낸다.
loop에서 863일 때 self number를 따지면 되기 때문.

📌 코드

natural_num = set(range(1,10001))
generated_num = set()

for i in range(1,10001):
    for j in str(i):
        i += int(j)
    generated_num.add(i)

result = sorted(natural_num-generated_num)

for i in result:
    print(i)

https://wook-2124.tistory.com/252

profile
티스토리로 이사했습니다! https://imsfromseoul.tistory.com/ + https://camel-man-ims.tistory.com/
post-custom-banner

0개의 댓글