www.acmicpc.net/problem/4673

 

4673번: 셀프 넘버

문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다.  예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는

www.acmicpc.net

[Try]

1. 성공

[Point]

1. 요즘 시간초과에 너무 눈이 뒤집혀서 그런지 신경을 최대한 쓰게 된다. 이번에 재귀호출하는데 시간초과 될까봐 부르르 떨었는데 다행히 그정돈

아니었나 보다

2. 작년에 c로 풀었던 이력이 있어서 확인해봤는데 지금이랑 거의 비슷하게 풀었다. 오히려 함수호출없이 while 반복으로 더 깔끔하게 푼 것 같다.

[More]

1. 생각해보니 왜 딕셔너리로 했는지 모르겠다. 그냥 리스트로 풀었어도 인덱스 사용해서 똑같이 나왔을 것 같은데.... ㅋㅋ쿠ㅜ

2. 그냥 10000번 다 계산하시는 분들이 더 많은데 생각보다 시간이 얼마 안걸리나보다

'PS > BOJ' 카테고리의 다른 글

[백준] 10845.cpp : 큐  (0) 2020.05.11
[백준] 1065.py : 한수  (0) 2020.05.11
[백준] 13414.py : 수강신청  (0) 2020.05.11
[백준] 7785.py : 회사에 있는 사람  (0) 2020.05.10
[백준] 1764.py : 듣보잡  (0) 2020.05.10

+ Recent posts