[백준/파이썬] 4673번 셀프 넘버 풀이

업데이트:



문제 정보


풀이

문제

1부터 10000까지의 수 중 생성자가 없는 셀프 넘버를 모두 출력하는 문제입니다.

코드

numbers = list(range(1, 10001))

for i in range(1, 10000):
    value = i + i %10
    while(i//10 > 0):
        i //= 10
        value += i %10
    try:
        numbers.remove(value)
    except ValueError:
        continue
    

for self_number in numbers:
    print(self_number)

설명

각 수의 생성값 d(n)을 계산해 목록에서 제거하고, 끝까지 남은 값들이 셀프 넘버입니다.



이런 주제는 어떠신가요?

비슷한 난이도와 유형의 문제를 이어서 보면 풀이 감각을 더 빠르게 잡기 좋습니다.

댓글남기기