반응형
최빈값 알고리즘 보고 작성함...
자바 최빈값(Mode) 알고리즘 정리
최빈값(Mode) 알고리즘이란 주어진 데이터 중에서 가장 많이 나온(중복된) 값을 말하는데 값의 범위가 매우 넓다면 COUNT를 담아두는 방법을 변경해야 겠지만 (Map을 사용한다거나 등..) 특정 범위
wakestand.tistory.com
class Solution {
public int solution(int[] array) {
int answer = 0;
int[] idx = new int[array.length + 1];
int max = Integer.MIN_VALUE;
// 값별 인덱스에 cnt 추가
for(int i=0 ; i < array.length ; i++) {
idx[array[i]]++;
}
// 최대값 구하기
for(int i=0 ; i < idx.length ; i++) {
if(idx[i] > max) {
max = idx[i];
answer = i;
}
else if(idx[i] == max) {
answer = -1;
}
}
return answer;
}
}
근데 실패했다...!😵
그래서 힌트도 보고 하다가 그냥 써치함..
[프로그래머스] 최빈값 구하기 (Java)
문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 r
nyoung-blog.tistory.com
내가 놓친 부분...
1) 배열 내에서 가장 큰 수를 구하고자 할 때, Arrays.sort(array)
해서 맨 마지막 원소를 구하면 되는 것...
2) 그리고 새 배열의 길이는 new int[max + 1]
이렇게 하면 됐고...
3) 값 별 인덱스에 count하는 것도 idx[array[i]]++;
이렇게 하면 됐고..
그랬더니 잘 나오네....😂
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 0] 팩토리얼 (0) | 2023.02.03 |
---|---|
[프로그래머스/Lv. 0] 대문자와 소문자 (0) | 2023.02.03 |
[프로그래머스/Lv. 0] 약수 구하기 (0) | 2023.02.02 |
[프로그래머스/Lv. 0] 숫자 찾기 (1) | 2023.02.02 |
[프로그래머스/Lv. 0] 암호 해독 (0) | 2023.01.31 |