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
풀이
numbers = list(range(1, 10001))
remove_list = [] # 이후에 삭제할 숫자 list
for i in numbers :
for j in str(i):
i += int(j) # 생성자가 있는 숫자
if i <= 10000: # 10,000보다 작거나 같을 때만,
remove_list.append(i) # append: 리스트에 요소를 추가할 때
for remove_num in set(remove_list) : # set 으로 중복값 제거
numbers.remove(remove_num)
for self_num in numbers : # 생성자가 있는 숫자를 삭제한 리스트
print(self_num)
'Python > Baekjoon' 카테고리의 다른 글
백준 11654번 : 아스키 코드 (0) | 2022.10.06 |
---|---|
백준 1065번 : 한수 (0) | 2022.10.06 |
백준 15596번 : 정수 N개의 합 (0) | 2022.10.06 |
백준 4344번 : 평균은 넘겠지 (0) | 2022.10.06 |
백준 8958번 : OX퀴즈 (0) | 2022.10.06 |