CodingTEST
[SW Expert D2] 1204. 최빈수 구하기
경걍
2023. 11. 18. 03:53
반응형
1204. 최빈수 구하기
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제 분석
- 1000개의 수를 입력받고, 최빈수를 출력해라
- 최빈수 : 가장 여러번 나타나는 값
해결 포인트
- 2차원 배열로 모든 수 저장 : 메모리 초과
- Map으로 구현
- KEY: 입력받은 수
- VALUE: 입력받은 수가 몇번 나타났는지
코드
import java.util.*;
class Solution {
public static void main(String args[]) throws Exception {
//System.setIn(new FileInputStream("res/input.txt"));
Scanner sc = new Scanner(System.in);
int T;
T = sc.nextInt();
for (int test_case = 1; test_case <= T; test_case++) {
int testNum = sc.nextInt();
TreeMap<Integer, Integer> treeMap = new TreeMap<>();
for (int i = 0; i < 1000; i++) {
int num = sc.nextInt();
if(treeMap.containsKey(num)) {
treeMap.put(num, treeMap.get(num)+1);
}
else {
treeMap.put(num, 1);
}
}
int max = 0;
int maxNum = 0;
for (int i = 0; i < 101; i++) {
if(treeMap.get(i) >= max) {
max = treeMap.get(i);
maxNum = i;
}
}
System.out.printf("#%d %d\n", test_case, maxNum);
}
}
}
반응형