SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
Java 로 코드를 짜보니깐 next()랑 nextLine()을 하나만 골라서 사용하는게 편하다는 생각을 했다.
다음부터 통일 시켜서 구현해봐야지.
최빈수 알고리즘은 간단하다.
가장 많이 나오는 수를 인덱스로 두고, 해당 인덱스의 값을 1씩 증가시키면 최종적으로는 값이 가장 큰 인덱스의 번호가 최빈수가 되는 거니깐..
근데 여기서 최빈값이 여러개가 나오는 경우 어떻게 해줄지 예외처리만 신경쓰면 될 것 같다.
Code
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int T = Integer.parseInt(scanner.next());
for(int i=0; i<T; i++){
int a = Integer.parseInt(scanner.next());
int [] List = new int[101];
Arrays.fill(List,0);
int max = List[0];
int maxIndex = 0;
for(int j=0; j<1000; j++){
int b = Integer.parseInt(scanner.next());
List[b]++;
}
for(int j=1; j<=100; j++){
if (List[j] > max || (List[j] == max && j > maxIndex)) {
max = List[j];
maxIndex = j;
}
}
System.out.println("#" + (i+1) + " " + maxIndex);
}
}
}
'코딩테스트 연습' 카테고리의 다른 글
SW Expert Academy - 22795. 일곱 부하의 평균 D3 (0) | 2025.01.13 |
---|---|
SW Expert Academy - 2001. 파리 퇴치 D2 (0) | 2025.01.10 |
SW Expert Academy - 22979. 문자열 옮기기 D3 (0) | 2025.01.08 |
프로그래머스 주사위 게임3 (0) | 2024.11.23 |
프로그래머스 주식가격 (3) | 2024.10.18 |