728x90
class Solution {
public int solution(int[] array) {
int answer = array[0];
int max = 0; int frequent[] = new int[1000];
for(int i = 0; i < array.length; i++) {
frequent[array[i]]++;
if(max < frequent[array[i]]) {
max = frequent[array[i]];
answer = array[i];
}
}
int temp = 0; // 여러 개인 지
for(int j = 0; j < 1000; j++) {
if(max == frequent[j]) temp++;
if(temp > 1) answer = -1;
}
return answer;
}
}
다른 사람 풀이
import java.util.*;
class Solution {
public int solution(int[] array) {
int maxCount = 0;
int answer = 0;
Map<Integer, Integer> map = new HashMap<>();
for(int number : array){
int count = map.getOrDefault(number, 0) + 1;
if(count > maxCount){
maxCount = count;
answer = number;
}
else if(count == maxCount){
answer = -1;
}
map.put(number, count);
}
return answer;
}
}
728x90
'코팅테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 짝수의 합 (0) | 2023.03.27 |
---|---|
[프로그래머스] 나이출력-java (0) | 2023.03.26 |
[프로그래머스]짝수는 싫어요 - java (0) | 2023.03.26 |
[프로그래머스] 중앙값 구하기-java (1) | 2023.03.26 |
[프로그래머스] 나머지 구하기 (0) | 2023.03.26 |