Immersion In Data

Python/Baekjoon

백준 4673번 : 셀프 넘버

sungjunminn 2022. 10. 6. 15:19

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