알고리즘/SW Expert Academy

1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기

문제정보: 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기

 

[제약 사항]
학생의 수는 1000명이며, 각 학생의 점수는 0점 이상 100점 이하의 값이다.
 
[입력]

첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄부터는 점수가 주어진다.

[출력]
#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다.

다음과 같은 수 분포가 있으면,
10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3
최빈수는 8이 된다.
최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라).
public class solution_1204 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int testCase = sc.nextInt();
        int index = 0;

        int[] scoreCount = new int[101];
        int result = 0;
        int maxCount = 0;

        for(int i = 1; i <= testCase; i++){
            result = 0;

            for(int j=0; j<1000; j++){
               index = sc.nextInt();
               scoreCount[index]++;
            }

            for(int j=0; j<scoreCount.length; j++){
                if(scoreCount[j] >= maxCount){
                    result = j;
                    maxCount = scoreCount[j];
                }
            }

            System.out.println("#"+i +" "+result);
        }
        sc.close();
    }
}

 

'알고리즘 > SW Expert Academy' 카테고리의 다른 글

1859. 백만 장자 프로젝트  (0) 2021.08.25
1983. 조교의 성적 매기기  (0) 2021.08.18
1984. 중간 평균값 구하기  (0) 2021.08.05
1926. 간단한 369게임  (0) 2021.07.28
2056. 연월일 달력  (0) 2021.07.28