[Python] [백준 #4673] 셀프 넘버

박수경·2021년 10월 19일
0

문제

4673

풀면서 하는 생각

문제는 어떻게 이해했는데 그래서 어쩌라는 걸까?
셀프 넘버를 구하기 위한 식을 세워야 하는데 도저히 떠오르지가 않아 오늘도 구글의 힘을 빌려본다.

제출한 코드

def self_num(a):
    number = int(a)
    for i in list(str(a)):
        number += int(i)
    return number


not_self_num = []
for i in range(1, 10001):
    num = self_num(i)
    not_self_num.append(num)

for j in range(1, 10001):
    if j in not_self_num:
        pass
    else:
        print(j)

결과

큰일났다... 이건 진짜 모르겠다. 이건 맞았다고 할 수 없다. 셀프넘버가 되는 기준이라할지 알고리즘이라할지 원리라할지 그런걸 도저히 이해할 수가 없다. 문자로 분리하는건 너무나 천재적인 발상인데...

결국 하나하나 디버깅을 해봤다. 드디어 이해가 갔다. 근데 문제는... 저런 코드가 나오게 된 이유... 그니까 아직도 셀프 넘버의 원리를 모르는 거다. 누구한테 물어보고 싶은 마음이 간절하지만 외로운 독학러에겐 그럴만한 사람이 없다.

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

이 분의 글을 보고 조금은... 이해하게 되었다. 그러나 나보고 혼자 풀라하면 못풀겠다. 아직 좀 멀었나보다. 한시간 반을 고민했으면... 충분히 고민했다고 넘어가도 될까. 나중에 다시 봐야겠다.

profile
유니콘을 위하여

0개의 댓글