꾸르꾸르

[SW Expert Academy] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (D2) (C++) 본문

코딩, 알고리즘, 문제풀이/SW Expert Academy

[SW Expert Academy] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (D2) (C++)

GGUGGU- 2019. 5. 21. 19:40

2017.10.7에 쓰여진 글입니다.


 

문제링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh&categoryId=AV13zo1KAAACFAYh&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

www.swexpertacademy.com

 

풀이방법

0점부터 100점까지 score 배열을 만들어놓고

score[점수] 배열에다가 해당 점수의 인원수를 저장하는 방식으로 푼다.

그리고 for문으로 0점부터 100점까지 돌면서 최빈수를 저장한다.

자세한건 코드참고..

 

소스코드

#include <iostream>
#include <cstdio>
 
using namespace std;
 
#define NUMBER 1000
 
int score[101] = { 0 };
 
int main()
{
    int T;
    while (!cin.eof()) {
        cin>>T;
        for (int i = 0; i <= 100; i++)
            score[i] = 0;
        int Answer;
        int tmp_score = 0;
        int count_max;
 
        for (int i = 0; i < NUMBER; i++) {
            cin >> tmp_score;
            score[tmp_score]++;
        }
 
        count_max = score[0];
        Answer = 0;
        for (int i = 0; i <= 100; i++) {
            if (score[i] >= count_max) {
                Answer = i;
                count_max = score[i];
            }
        }
 
        cout << "#" << T << " " << Answer << endl;
    }
 
    
    return 0;
}
Comments