ํ’€์ด


1๋ถ€ํ„ฐ 10,000 ๊นŒ์ง€์˜ ์ •์ˆ˜ ์ค‘ ์…€ํ”„ ๋„˜๋ฒ„๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ๋‹ค.

1๋ถ€ํ„ฐ 10,000 ๊นŒ์ง€์˜ ์ •์ˆ˜๋ฅผ set ์ž๋ฃŒํ˜•์— ๋‹ด์€ ๋’ค ์…€ํ”„ ๋„˜๋ฒ„๊ฐ€ ์•„๋‹Œ ์ˆซ์ž๋“ค์„ remove ์— ๋‹ด์•„ ์ฐจ์ง‘ํ•ฉ์„ ๊ตฌํ•˜๋ฉด๋œ๋‹ค.

์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ ฌ ํ›„ for๋ฌธ์œผ๋กœ ์ถœ๋ ฅํ•˜๋ฉด๋œ๋‹ค.

์†Œ์Šค์ฝ”๋“œ


nums = set(range(1, 10000))
remove = set()
 
for num in nums :
    for n in str(num):
        num += int(n)
    remove.add(num)
 
self_nums = nums - remove
for self_num in sorted(self_nums):
    print(self_num)

References