알고리즘 기초 - 3 (최빈수 출력)

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

.



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
package Problem3;
 
public class Main {
 
    public static void main(String[] args) {
 
        // 내 생각
        // 수 전체를 배열안에 넣고,
        // 배열안에 있는 숫자를 같은 숫자마다 카운팅해서 숫자를 세면 될거같다.
        // 많이 나온 숫자들을 비교해야되는데 잘 안됨
 
        int[] arr = { 1223142243532 };
        

//배열을 하나 더만들어서 위에 있는 배열의 최빈수와 최빈수가 나온 횟수도 같이 저장한다.
        int[] mode = new int [10];
        
        //index => 나온 해당 숫자
        //index 값 => index (출현횟수)가 몇번 나왔는지 저장하는 용도
        
        //"mode[3] = 5, => 3번숫자가, 5번 출현했다."
        
        for (int i = 0; i < 10; i++) {
 
                mode[arr[i]]++;
 
            }
        
        
        int modeNum = 0;    //최빈수
        int modeCnt = 0;    //최빈수가 나온 횟수
        
        for (int i = 0; i < 10; i++) {
            if (modeCnt < mode[i]) {
                modeCnt = mode[i];
                modeNum = i;
            }
        }
        
        System.out.println("최빈수는:"+modeNum+"  "+"횟수는 :"+modeCnt);
    }
}
 
cs



출력 결과





출처


https://www.youtube.com/watch?v=C-HElAETJVo&list=PLVoihNyHW4xkm_KJ8_N8X7F6EQP4uSRyR&index=4

: