본문 바로가기

예제

[Java] 1부터 10000까지의 자연수에서 8의 개수를 세는 연습문제. 문제: 1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가? 8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다. (※ 예를들어 8808은 3, 8888은 4로 카운팅 해야 함) 출처: codingdojang.com/scode/393#answer-filter-area Idea: 이건 너무 쉬운 문제라 코드로 작성하기 민망하다. 다만, 구글의 입사문제였기 때문에 창의력을 발휘하는 지의 여부를 확인하는 문제였을 듯하다. 따라서, 코드로 형식적으로 푼 답의 아래에 있지만, 경우의 수를 이용해서 풀이할 수도 있을 것 같다. 10000은 8이 없으므로 1부터 9999까지의 수, 즉 모든 4자리 자연수 중에서 8의 개수를 센다. 한 자리에 8이 들어가고, 나머지 .. 더보기
[Java] Java 연습문제: Self Number 탐색 프로그램 문제: 어떤 자연수 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 이상이고 5000 보다 작은 모든 셀프 넘버들의 합을 구하라. 출처: codingdojang.com/scode/365.. 더보기