190106 SW Expert Academy(1204) 최빈수 구하기

2019-01-06

1204. 최빈수 구하기

문제 링크

https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh&categoryId=AV13zo1KAAACFAYh&categoryType=CODE

풀이 과정
  • 인덱스로 0~100을 가지는 배열 만들고, 해당 점수=인덱스로 해서 수가 등장하면 값 증가
import java.io.*;
import java.util.StringTokenizer;

public class Solution {
    public static void main(String[] args) throws IOException{
        BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb=new StringBuilder();

        int test=Integer.parseInt(bf.readLine());
        for(int i=0;i<test;i++) {
            int count[]=new int[101]; // 0~100
            int idx=0;
            int test_case=Integer.parseInt(bf.readLine());
            StringTokenizer st=new StringTokenizer(bf.readLine()," ");
            while(st.hasMoreTokens()){
                int num=Integer.parseInt(st.nextToken());
                count[num]++;// 해당 점수 인덱스의 값을 1 증가
            }
            for(int j=0;j<101;j++){
                if(count[idx]<=count[j])
                    idx=j;
            }
            sb.append("#"+test_case+" "+idx+"\n");
        }

        System.out.println(sb);
    }
}
  • 실행 시간 : 0.13933s
  • BufferedReader, StringTokenizer, StringBuilder에 좀 더 익숙해져야겠다.