1000명 수학 성적 통계 자료
최빈수 이용 평균 수준 짐작.
최빈수는 8이 된다. 최빈수를 출력하는 프로그램 작성.
제약 사항
학생의 수 1000명, 각 학생의 점수 0점 이상 100점 이하의 값이다.
입력
첫 번째 줄에 테스트 케이스의 수 T가 주어짐
테케 번호 주어지고 다음 줄 부터 점수가 주어짐.
출력
테케 번호 출력, 공백 문자 후 테스트 케이스에 대한 답을 출력.
로직
1. 입력 받음
2. 입력 받으면서 100점 까지의 점수 안의 값들을 상승시킴
3. 입력 끝나면, 100까지 중 최빈수를 찾아내서
4. 최빈수를 출력함
/*
2018.10.26
sam
최빈수 구하기
1. 문제 정독
2. 설계 완벽(여러 풀이 방법 중 선택)
3. 경우의 수 모두 정리
4. 가지치기
5. 예제와 동일한 변수 사용
6. 초기화 변수 확인
*/
#include <iostream>
using namespace std;
int main()
{
int T;
cin >> T;
for (int tttt = 1; tttt <= T; tttt++)
{
int aa; // 테케 변수 선언.
cin >> aa; // 테케 변수 입력 받음.
const int ST_NUM = 101; // 학생의 숫자 101명? 1000 명까지 가능한데. 점수인가?
int student[ST_NUM];
for (int i = 0; i < ST_NUM; i++) student[i] = 0; // 학생의 수 초기화.
int result = 0; // 결과 변수 선언
int result_num = -1; // 결과 변수 선언.
int input;
for (int i = 0; i < 1000; i++)
{
cin >> input; // 인풋 받음
student[input] ++; // 받는 족족 숫자 체크.
}
for (int i = 0; i <= 100; i++) // 100까지 검사하면서 최빈수 구하기.
{
if (result <= student[i])
{
result_num = i;
result = student[i];
}
}
cout << '#' << tttt << ' ' << result_num << endl; //출력
}
return 0;
}
'Algorithms > simulation' 카테고리의 다른 글
1209 Sum (0) | 2018.10.26 |
---|---|
1206 View (0) | 2018.10.26 |
1208 Flatten (0) | 2018.10.26 |
LCS / ALL Pair Shortest Path / 타일링 (0) | 2018.10.26 |
롤러코스터 / 가장 짧은 길 전부 청소 / 괄호 / CRT / 줄 세우기 / 파이의 합 (0) | 2018.10.25 |
댓글