ALGORITHM ๐Ÿค–/Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ตœ๋นˆ๊ฐ’ ๊ตฌํ•˜๊ธฐ

daxx0ne 2023. 3. 7. 09:55

https://school.programmers.co.kr/learn/courses/30/lessons/120812

class Solution {
    public int solution(int[] array) {
        int answer = 0; // ์ตœ๋นˆ๊ฐ’
        int max = Integer.MIN_VALUE; // ์ตœ๋Œ€๊ฐ’ ์ €์žฅ
        int[] index = new int[1001]; // ์ธ๋ฑ์Šค ์นด์šดํŒ…

        for (int j : array) {
            index[j]++; // ๊ฐœ์ˆ˜ ์„ธ์„œ ์ธ๋ฑ์Šค ๋ฐฐ์—ด์— ์นด์šดํŒ… ๊ฒฐ๊ณผ ๋ฐ˜์˜
        }
        for(int i = 0; i < index.length; i++){
            if(max < index[i]){
                max = index[i]; // ๊ฐ€์žฅ ๋งŽ์ด ์นด์šดํŒ… ๋œ ์ˆ˜๊ฐ€ ์ตœ๋นˆ๊ฐ’
                answer = i;
            }
        }
        int check = 0; // ์ตœ๋นˆ๊ฐ’์ด ํ•˜๋‚˜์ธ์ง€ ์•„๋‹Œ์ง€ ์ฒดํฌ
        for (int j : index) {
            if (max == j) {
                check++; 
            } else if (check > 1) { // ์ตœ๋นˆ๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด -1 ์ถœ๋ ฅ
                answer = -1;
            }
        }
        return answer;
    }
}