반응형
최빈값 알고리즘 보고 작성함...
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;
}
}
근데 실패했다...!😵
그래서 힌트도 보고 하다가 그냥 써치함..
내가 놓친 부분...
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 |