반응형
문제 설명
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
제한사항
0 < array의 길이 < 100
0 < array의 원소 < 1000
내가 풀이한 방법
class Solution {
public int solution(int[] array) {
int[] index = new int[1000]; // 값별 개수를 구하기 위한 변수
int rep = 0; // 중복여부
int max = 0; // 최대값(최빈값)
int answer = 0; // 결과값
for (int i = 0; i < array.length; i++) {
index[array[i]]++; // 값별 개수를 구한다.
// 값별 개수의 최대값이 곧 최빈값이 됨.
if (max < index[array[i]]) {
max = index[array[i]];
answer = array[i];
}
}
for (int i : index) {
if (i == max) rep++;
if (rep > 1) answer = -1;
}
return answer;
}
}
반응형
'컴퓨터공학 > 알고리즘' 카테고리의 다른 글
[알고리즘] 2차원으로 만들기 (1) | 2023.11.09 |
---|---|
[알고리즘] 약수 구하기 (0) | 2023.11.08 |
[알고리즘] n의 배수 구하기 (0) | 2023.11.07 |
[알고리즘] 개미 군단 (0) | 2023.11.04 |
[알고리즘] 세균 증식 (1) | 2023.10.31 |