알고리즘 기초 - 14 ( 숫자 갯수 출력 )

Algorithm/풀었던문제 2019. 12. 17. 15:15



배열을 만들고 입력한 숫자를 10으로 나눠서 나온 나머지숫자를 배열의 칸마다 넣고,


배열의 요소를 출력하면 숫자를 하나씩 분리해서 출력할 수 있다.




Main.java


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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package Problem14;
 
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
    
        //입력된 숫자의 갯수를 출력받아야 하므로 숫자를 입력받는다.
        
        System.out.println("숫자를 입력하세요.");
        
        
        int n;
        Scanner scan = new Scanner(System.in);
        n = scan.nextInt();
        
        System.out.println("입력 : "+n);
        
        System.out.println();
        
    
        int arr[] = new int[10];    

//0 ~9 까지의 입력된 수를 카운트하기 위한 용도의 배열
        
        //배열의 한칸한칸마다 숫자를 하나씩 넣어야 된다.
        
        //숫자를 하나씩 추출할때는 10으로 나눈다음 나머지를 하나씩 배열에 넣는식으로 계산한다.
        
        //그리고 한바퀴 돌때마다 n을 10으로 나눈만큼 계속 감소시켜서 나머지들을 하나씩 구한다.
        
        //ex 4232입력 -> 2
        //    423 -> 3
        //    42 -> 2...
        
        while (n > 0) {
            
            arr[n % 10]++;

            /= 10;
        }
        
        
        for (int i = 0 ; i < 10; i++) {
            
            System.out.println(i+":"+arr[i]);
        }
    
    }
}
 
cs




출력 결과






출처


https://www.youtube.com/watch?v=-9Ne6s2dVH0&list=PLVoihNyHW4xkm_KJ8_N8X7F6EQP4uSRyR&index=15

: