[SWEA 1204] (D2) 최빈수 구하기
반응형
문제 : (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, 0, sizeof(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 |
반응형
댓글
이 글 공유하기
다른 글
-
[SWEA 5644] 무선 충전
[SWEA 5644] 무선 충전
2020.06.07 -
[SWEA 2382] 미생물 격리
[SWEA 2382] 미생물 격리
2020.06.03 -
[SWEA 2477] 차량 정비소
[SWEA 2477] 차량 정비소
2020.05.25 -
[SWEA 1210] (D4) Ladder1
[SWEA 1210] (D4) Ladder1
2020.05.19