코딩테스트 공부/백준 문제
백준 [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에 저장
n = 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