1. 문제
매개변수 : 정수 배열 array
리턴값 : 최빈값 (여러 개면 -1)
조건 : 0 < array 길이 < 100 , 0 <= array 원소 < 1000
2. 풀이
1) array 원소가 하나면 그 값을 리턴
2) array 배열을 오름차순 정렬 : Array.sort() 이용
3) index 배열에 array 배열 복사
4) index 배열 중복 제거 : Arrays.stream(index).distinct().toArray() 이용
5) 빈도수를 구하는 sum 배열 만들기
6) index와 array 배열을 이용해서 sum 배열에 값 넣기
7) sum 배열에서 가장 큰 값 구하기 (가장 빈도수가 높은 값)
8) 빈도수가 같은 값이 있는지(cnt로 확인)와 빈도수가 클 때의 인덱스(maxIndex) 찾기
9) cnt가 1보다 크면(중복이 있으면) -1 리턴, 아니면 index[maxIndex] 출력
* 풀 코드 : https://github.com/cejinn/programmers_lv0/blob/main/basic039.java
'알고리즘 > 프로그래머스(Lv.0)' 카테고리의 다른 글
[프로그래머스] Lv.0 구슬을 나누는 경우의 수 (1) | 2023.11.28 |
---|---|
[프로그래머스] Lv.0 분수의 덧셈 (0) | 2023.11.02 |
[프로그래머스] Lv.0 두 수의 나눗셈 (0) | 2023.11.01 |