본문 바로가기
알고리즘 문제풀이/Programmers - 자바

프로그래머스 - 최빈값 구하기

by 올리브영 2023. 3. 22.
728x90
반응형
class Solution {
    public int solution(int[] array) {
        int answer = 0;
        int len = array.length;
        int[][] ary = new int[len][2];
        
        for(int i=0; i<len; i++){
            ary[i][0] = array[i];
            ary[i][1] = 1;
        }
        
        for(int i=0; i<len; i++){
            for(int j=0; j<len; j++){
                if(array[i] == array[j] && i!=j){
                    ary[i][1] += 1;
                }
            }
        }

        for(int i=0; i<len; i++){
            if(answer<ary[i][1]){
                answer = ary[i][1];
            }
        }
        
        for(int i=0; i<len; i++){
            for(int j=0; j<len; j++){
                if((ary[i][0] != ary[j][0]) && (ary[i][1] == answer) &&(ary[j][1] == answer) && i!=j){
                    return -1;
                }
            }
        }
        
        for(int i =0; i<len; i++){
            if(answer == ary[i][1]){
                answer = ary[i][0];
                break;
            }
        }
        
        return answer;
    }
}
728x90
반응형