반응형
https://www.acmicpc.net/problem/4673
4673번: 셀프 넘버
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,
www.acmicpc.net
내 코드
import sys
input = sys.stdin.readline
selfnum= []
notself =set()
def selfmake(num):
num = num + sum(map(int, str(num)))
return num
for i in range(1, 10001):
notself.add(selfmake(i))
for i in range(1, 10001):
if i not in notself:
print(i)
self number 만들기
map을 이용하여 num의 각 자릿수를 분리하고, 더해서 self number를 만드는 함수를 설정한다.
그리고 self number를 set에 넣어서 중복으로 들어가는 수를 지운다.
이후 1부터 10001까지 돌리면서 self number에 없는 수라면 출력한다!
반응형
'코딩테스트 대비 > 백준(BOJ)' 카테고리의 다른 글
| [Python][백준/BOJ] 15650번 : N과 M (2) (0) | 2023.06.26 |
|---|---|
| [Python][백준/BOJ] 15649번 : N과 M (1) (0) | 2023.06.25 |
| [Python][백준/BOJ] 1010번 : 다리 놓기 (0) | 2023.06.23 |
| [Python][백준/BOJ] 5622번 : 다이얼 (0) | 2023.06.23 |
| [Python][백준/BOJ] 2875번 : 대회 or 인턴 (0) | 2023.06.23 |