본문 바로가기
PS/SWEA

[SWEA 1204] (D2) 최빈수 구하기

by 방준이 2020. 5. 20.
반응형

문제  : (D2) 1204 - 최빈수 구하기

[ 문제 출처 ] : SW Expert Academy

 

[ 문제 풀이 ] 

 

다음과 같은 수 분포가 있으면,


10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3

 

10 : 1번 

 8  : 4번

 7  : 1번

 2 :  2번

 ....

 ....

 

위와 같이 가장 8이라는 숫자가 4번으로 가장  많이 등장한다 이를 최빈수 라고 한다

점수의 분포는 0점 ~ 100점 까지 존재 한다. 

문제에서 학생의 수는 1000명 이라고 정의 하였으므로 1000명의 점수를 입력 받을 때 마다 

해당 점수를 카운트 해준다 이는 배열을 이용하여 쉽게 구현 할 수 있다 

다음으로 해당 답을 찾기 위해서 그 배열을 순회 하면서 최빈수 이면서 가장 큰 점수를 구하면 된다

 

[ 소스 코드 ] 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
int cnt[101];
int main() {
    ios_base::sync_with_stdio(0), cin.tie(0);
    int t;
    cin >> t;
    for (int test_case = 1; test_case <= t; ++test_case) {
        int a;
        cin >> a;
        memset(cnt, 0sizeof(cnt));
        for (int i = 0; i < 1000; i++) {
            int temp;
            cin >> temp;
            cnt[temp]++;
        }
        int now = 0, score = 0;
        for (int i = 0; i <= 100; i++) {
            if (now <= cnt[i]) score = i, now = cnt[i];
        }
        cout << "#" << test_case << " " << score << '\n';
    }
    return 0;
}
cs
반응형

'PS > SWEA' 카테고리의 다른 글

[SWEA 5653] 줄기세포배양  (0) 2020.06.17
[SWEA 5644] 무선 충전  (0) 2020.06.07
[SWEA 2382] 미생물 격리  (0) 2020.06.03
[SWEA 2477] 차량 정비소  (0) 2020.05.25
[SWEA 1210] (D4) Ladder1  (0) 2020.05.19