본문 바로가기
Algorithms/simulation

1204 최빈수 구하기

by OKOK 2018. 10. 26.

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

댓글