코딩테스트 공부/백준 문제

백준 [Python] 4673번: 셀프 넘버

연디연디 2021. 10. 22. 11:30
728x90

 

 

✨ 풀이과정

1
2
3
4
5
6
7
8
9
num = set(range(1,10001)) # 1부터 10000까지 숫자 set에 저장
= set()     # 생성자가 있는 숫자 set에 저장
for i in num:
    for j in str(i): # ex) 102이면 1,0,2로 접근 (숫자 -> 문자열로 변환)
        i += int(j) # ex) 102 + 1 + 0 + 2 와 같이 생성자 계산 (문자열 -> 숫자로 변환)
    n.add(i)
selfnum = sorted(num - n)    # 10000보다 작거나 같은 셀프 넘버 저장 및 오름차순 정렬
for i in selfnum:
    print(i)     # 셀프 넘버 한 줄에 하나씩 출력
cs

 

❗ 어렵다 어려워.. 

 

 

 

 

4673번: 셀프 넘버

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,

www.acmicpc.net

 

728x90