개발 => 복습 후 재정리 대기/알고리즘

[백준][Python] 4673번 셀프 넘버 파이썬

장 상 현 2021. 6. 15.

1회 차

def d(n):  # 반복시키는 함수
    result = n  # 결과
    for x in list(str(n)):  # 숫자 한자리씩 문자열로 분리
        result += int(x)  # 첫 수 + 분리시킨 문자열 숫자로 변환하여 더하고
    return result  # 결과 리턴


성자 = []  # 생성자 맹글기
for x in range(10001):  # 만번까지 반복
    성자.append(d(x))  # append 함수 이용해서 d함수 호출 후 배열에 넣기

for x in range(1, 10001):
    if x in 성자:  # 배열에 담긴 생성자 반복해서 변수 x에 담고
        continue  # 계속
    else:
        print(x)  # 끝나면 출력

이게 왜 되지?

 

구글링 없이 풀어낼 때까지 반복 연습 요망

 

 

4673번: 셀프 넘버

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

www.acmicpc.net

 

댓글