문제 출처: https://www.acmicpc.net/problem/4673
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public class Main { private static int[] arr = new int[10001]; public static void main(String[] args) throws Exception { for(int i=1 ; i<=10000 ; i++) d(i); StringBuilder builder = new StringBuilder(); for(int i=1 ; i<=10000 ; i++) if(arr[i] == 0) builder.append(i).append("\n"); System.out.println(builder); } public static void d(int num){ int newNum = num; // 숫자 CHAR(0~9)는 ASCII 코드 '0'(48)부터 시작하므로, '0'(48)을 빼주면 숫자를 얻을 수 있다. for(int i=0 ; i<String.valueOf(num).length() ; i++) newNum += String.valueOf(num).charAt(i) - '0'; if(newNum <= 10000 && arr[newNum] == 0){ arr[newNum]++; d(newNum); } } } | cs |
'Algorithm' 카테고리의 다른 글
백준 2448번: 별찍기-11 (0) | 2018.10.04 |
---|---|
백준 1065번: 한수 (0) | 2018.10.04 |
백준 2839번: 설탕 배달 (0) | 2018.09.30 |
백준 1019번: 책 페이지 (0) | 2018.09.27 |
백준 1339번: 단어 수학 (0) | 2018.09.23 |