N

(SWEA c++)6958. 동철이의 프로그래밍 대회 본문

SW Expert Academy

(SWEA c++)6958. 동철이의 프로그래밍 대회

naeunchan 2020. 11. 23. 09:19
728x90
반응형

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

 

SW Expert Academy

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

swexpertacademy.com

 

int형 벡터를 [N][M + 1]로 선언해준다.

v[i][M]에는 각 사람이 문제를 푼 개수를 저장해준다.

N명의 사람의 문제 개수를 입력 받고, 가장 많이 푼 개수를 비교하여 계속 바꿔주도록 한다.

 

그리고 마지막에 가장 많이 푼 개수와 v[i][M]을 비교하여 사람을 카운팅해주면 된다.

#include <iostream>
#include <vector>

using namespace std;

int main(void)
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    int t;
    cin >> t;
    
    for(int tc = 1; tc <= t; tc++)
    {
        int N, M, high = 0, people = 0;
        
        cin >> N >> M;
        
        vector<vector<int>> v(N, vector<int>(M + 1, 0));
        
        for(int i = 0; i < N; i++)
        {
            int count = 0;
            for(int j = 0; j < M; j++)
            {
                cin >> v[i][j];
                
                if(v[i][j])
                	v[i][M]++;
            }
            high = max(v[i][M], high);
        }
        
        for(int i = 0; i < N; i++)
        {
            if(v[i][M] == high)
                people++;
        }
        
        cout << "#" << tc << " " << people << " " << high << endl;
    }
    return 0;
}
728x90
반응형