테스트 사이트 - 개발 중인 베타 버전입니다

넥슨 입사 문제

· 14년 전 · 3011 · 12

웹 서핑 하다가 발견한 건데 07년도 문제라네요.

이거말고도 3문제가 더 있던데 이 문제가 제일 쉽다고 해서 풀어봤어요.

쉽다는건 뻥이었네요 ... ㅡㅡ;;

셀프 넘버가 뭔지 몰라서 이리저리 해맨 ㅋㅋㅋㅋ 문제만 이해하면 소스로는 금방 옴겨적을 수 있는 문제라서 다들 쉬웠다고 했나 봅니다.


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 보다 작은 모든 셀프 넘버들의 합을 구하라.

 

1번 답 : ________ 


이게 문제 입니다. 프로그래밍 언어는 C, C++만 사용 하라네요.

전 C로 풀었습니다.

셀프넘버가 뭔지만 이해하고 문제 포인트만 잡아내면 어렵지 않은 문제 같습니다.

제가 드리는 힌트!

힌트 : 셀프넘버를 구하지 마시고 1~5000 사이에 있는 제너레이터가 있는 숫자들을 걸러내세요. 걸러지지 않은 숫자들이 셀프넘버니 그것들을 더하시면 됩니다.


저번에 면접시 뭘 물어봐야 하는지 게시판에 남기신분이 계시죠? 생각나서 올려봤습니다. 우린 php로 풀어봅시다.^^

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 12개

14년 전
어려운문제네요
14년 전
대학교 C/C++ 수업 기말고사 문제 같네요.. ㅋㅋ
기말고사 문제중에 최고난이도의 문제?

저정도는 풀어야 넥슨에 입사 가능하군요.... ㅠㅠ
이미 머리는 굳었는데;;;

게시글 목록

번호 제목
1716903
1716902
1716899
1716894
1716892
1716888
1716864
1716861
1716856
1716851
1716850
1716848
1716843
1716841
1716834
1716830
1716828
1716821
1716819
1716815
1716811
1716809
1716808
1716795
1716791
1716784
1716783
1716781
1716773
1716765