728x90
✔️ 문제 설명

SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
✔️ 문제 풀이

SWEA 에서는 기본 코드로 Scanner를 쓰는 예시를 보여주지만, 훨씬 입력이 빠른 BufferedReader, StringTokenizer을 사용했다.
점수가 0 부터 100까지 있으니, 총 101 개의 index만 있으면 빈도수를 저장할 수 있다는 점!!!!
- 배열 score
: i 번째 원소는 i 점인 학생 수를 의미한다. 즉, score[i] = i 점인 학생 수 - max
: 최대 빈도수를 저장할 변수 - max_score
: 최빈수를 저장할 변수
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.HashMap;
import java.util.Arrays;
class Solution
{
public static void main(String args[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int t = Integer.parseInt(br.readLine());
int[] score = new int[101];
for(int i = 0; i<t; i++){
br.readLine(); //인덱스 입력 받기 - i를 활용하면 되서 굳이 저장하지 않음.
st = new StringTokenizer(br.readLine());
Arrays.fill(score, 0); //0 으로 초기화
for(int j = 0; j <1000; j++){
score[Integer.parseInt(st.nextToken())]++;
}
int max = 0;
int max_score = Integer.MIN_VALUE;
for(int j = 0 ; j<101; j++){
if(score[j] > max){
max = score[j];
max_score = j;
}
if(score[j] == max){
max_score = j;
}
}
System.out.printf("#%d %d\n", i+1, max_score);
}
}
}
처음에는 HashMap으로 풀었는데,,, 왜인지 모르겠는 Runtime Error🫠
728x90
'Coding Test > SWEA 풀이' 카테고리의 다른 글
[SWEA] 1209. Sum : D3 (java) (0) | 2024.11.16 |
---|---|
[SWEA] 1208. [S/W 문제해결 기본] 1일차 - Flatten : D3 (java) (2) | 2024.11.15 |
[SWEA] 1206. [S/W 문제해결 기본] 1일차 - View : D3 (java) (0) | 2024.11.15 |