728x90
반응형
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다.
정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요.
최빈값이 여러 개면 -1을 return 합니다.
제한사항
- 0 < array의 길이 < 100
- 0 ≤ array의 원소 < 1000
class Solution {
public int solution(int[] array) {
int answer = 0;
int[] count = new int[1000];
for(int i=0; i<array.length; i++){
//array에 들어있는 원소(0~999까지) 갯수를 세어서 count 배열의 index에 맞게 저장
count[array[i]]++;
}
int max = 0; // 최빈값의 count 횟수
int max_index = 0; //최빈값
for(int i=0; i<count.length; i++){
if(count[i]>=max){
max = count[i];
max_index = i;
}
}
int cnt = 0;
//최빈값이 2개인지 확인
for(int i=0; i<count.length; i++) {
if(count[i] == max){
cnt++;
}
}
if(cnt>1) answer = -1;
else answer = max_index;
return answer;
}
}
728x90
반응형
'CodingTest > Java' 카테고리의 다른 글
[프로그래머스] 진료순서 정하기 _JAVA (0) | 2023.03.18 |
---|---|
[프로그래머스] 외계행성의 나이 _JAVA (0) | 2023.03.17 |
[프로그래머스] 피자 나눠 먹기(2) _JAVA (0) | 2023.03.17 |
[프로그래머스] 배열 자르기 _JAVA (0) | 2023.03.17 |
[프로그래머스] 문자열 뒤집기 _JAVA (0) | 2023.03.17 |