2014.01.28 23:03

프로그래머 자질 테스트를 하기 위해서 어떤 시험 문제가 나오는지 궁금해서 찾아보다가 넥슨 기출 문제를 발견했습니다. 1번 문제라는데 1번 문제부터 범상치가 않군요. ACM 등의 알고리즘 문제를 많이 풀어보신 분들은 잘 해결하실 듯 합니다. 넥슨에서 기출한 문제중 가장 쉽다고 하는데 저는 푸는데 1시간남짓 걸렸네요. 만약 면접전에 30분만에 풀라고 준다면 당황해서 제대로 못 풀거 같습니다 ^^;; 머리를 말랑말랑하게 만들어서 이리저리 시도해보는 연습을 해보는게 좋겠네요.


1. 문제 내용

어떤 자연수 n이 있을 때, d(n)을 n의 각 자릿수 숫자들과 n 자신을 더한 숫자라고 정의하자.

예를 들어 d(91) = 9 + 1 + 91 = 101

이 때, n을 d(n)의 제네레이터(generator)라고 한다. 위의 예에서 91은 101의 제네레이터이다.

어떤 숫자들은 하나 이상의 제네레이터를 가지고 있는데, 101의 제네레이터는 91 뿐 아니라 100도 있다.

그런데 반대로, 제네레이터가 없는 숫자들도 있으며, 이런 숫자를 인도의 수학자 Kaprekar가

셀프 넘버(self-number)라 이름 붙였다.

예를 들어 1,3,5,7,9,20,31 은 셀프 넘버 들이다.


1번 문제

1 이상이고 5000 보다 작은 모든 셀프 넘버들의 합을 구하라.

 

2. 문제 해결팁

- 문제를 정확하게 이해했는지 점검합니다. (셀프 넘버가 무엇인지부터 알아야 겠죠.)
- 구하고자 하는 답이 무엇인지 확인합니다. (엉뚱한 답을 구해서도 안되겠죠.)
- 막 코딩을 시작하기보다는 합을 하나씩 구해봅시다. 차근차근하시는 것이 좋습니다.

3. 나의 해결법

정 모르시겠다면 참고만 하시고, 시간이 날 때 다시 한번 풀어보시길 권해드립니다. ^^




p.s : 조금 오래 된 자료네요. 3년 전 자료입니다.



출처 : 몽상가 까운님의 블로그

http://ifyouprogrammer.tistory.com/175

'Computer > Programming' 카테고리의 다른 글

STL, ATL, WTL, MFC, WPF에 대해.  (0) 2014.05.16
HRESULT를 체크하는 세가지 방법  (0) 2014.02.13
넥슨 프로그래머 기출 문제 1번  (0) 2014.01.28
exec 함수  (0) 2011.12.12
C / C++ DLL을 만들어보자!!  (0) 2011.10.22
리눅스 exec 계열 함수  (0) 2011.09.07
Posted by Bright proydh