백준/단계별로 풀어보기(6단계)

4673번

지원인데요 2022. 1. 21. 14:01
728x90
반응형

단계별로 풀어보기 6단계 문제입니다.

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

셀프 넘버를 구하는 문제입니다.

33으로 시작한다면 다음 수는 33 + 3 + 3 = 39, 그다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57입니다.

 

n = d(n)의 생성자라고 할 때, 33은 39의 생성자, 39는 51의 생성자, 51은 57의 생성자입니다.

생성자가 없는 숫자를 셀프 넘버라고 합니다.

전체 숫자 = 셀프 넘버 + 생성자라고 한다면

셀프 넘버는 전체 숫자 범위 - 생성자로 구할 수 있습니다. 

set()을 사용하여 중복을 없애고 문자열을 사용하여 각 자리 숫자들을 구하여 코드를 구성하였습니다.

처음으로 풀어본 실버 문제입니다. 더욱더 발전하자!!

반응형

'백준 > 단계별로 풀어보기(6단계)' 카테고리의 다른 글

1065번  (0) 2022.01.21
15596번  (0) 2022.01.21