지나가던 개발자
[Python] 백준 4673번(셀프 넘버) 문제 풀이 본문
hihi = set(range(1, 10001))
hehe = []
for i in range(1, 10001):
hehe.append(i+sum(list(map(int, str(i)))))
haha = sorted(list(hihi-set(hehe)))
for i in range(len(haha)):
print(haha[i])
'어떤 정수와, 그 정수의 각 자리 숫자의 합'으로 나타낼 수 없는 수
제타위키의 셀프 넘버 문서의 일부를 인용했다. 셀프 넘버란, 어떤 정수와 그 정수의 각 자리 숫자의 합으로 나타낼 수 없는 수를 뜻한다.
https://wook-2124.tistory.com/252
이 블로그를 참고해서 코드를 짰다. 파이썬 한지 꽤 오래됐음에도 range(1, 10001)로 1부터 10000까지 리스트를 만들 수 있는건 처음 알았다.
'PS > Python' 카테고리의 다른 글
[Python] 백준 10870번(피보나치 수 5) 문제 풀이 (0) | 2022.02.14 |
---|---|
[Python] 백준 1712번(손익분기점) 문제 풀이 (0) | 2022.02.14 |
[Python] 백준 11021번(A+B - 7) 문제 풀이 (0) | 2022.02.13 |
[Python] 백준 21598번(SciComLove) 문제 풀이 (0) | 2022.02.09 |
[Python] 백준 23795번(사장님 도박은 재미로 하셔야 합니다) 문제 풀이 (0) | 2022.02.09 |
Comments