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

넥슨 입사 문제

· 14년 전 · 2415 · 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++ 수업 기말고사 문제 같네요.. ㅋㅋ
기말고사 문제중에 최고난이도의 문제?

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

게시글 목록

번호 제목
1959
14479
14475
14474
14469
14466
29747
14464
14463
1950
1943
1938
14460
29743
14453
29738
1936
24146
25894
1923
1919
1916
1913
24135
24131
25885
14449
1895
1891
1886
14443
1875
25884
14442
1872
29735
14441
1861
14438
14434
1836
29734
29727
14430
14426
정규표현식 왜 서버는... 3
14425
1828
1813
29725
29719
1808
1804
14423
24120
25866
14420
25863
1784
1777
25859
14419
1775
29717
1768
1759
1744
14416
14414
14413
1737
14412
1718
1714
1704
1700
29714
1699
14411
1696
1686
1677
1672
1671
25853
1660
1654
1650
25851
25850
1647
1588
1586
1580
1567
14408
1553
24109
1551
25849
25848