SWEA

SWEA 6913. 동철이의 프로그래밍 대회 D3 C++

2024. 5. 12. 20:28

 

 

 

 

 

person변수를 사용해 1등한 사람의 수를 셀 때, max값이 바뀔 때마다 person = 0 으로 초기화를 시켜주는 것이 중요했다.

작성한 코드는 다음과 같다.

#include<iostream>
using namespace std;

int main(int argc, char** argv){
    // 테스트 개수 입력받기
    int T;
    cin >> T;
    
    // 문제 구현
    int n, m;
    for(int i=0; i<T; i++) {
        // 입력 받기
    	cin >> n >> m;
        
        int solved[n]; // n명의 사람에 대한 푼 문제 수를 저장
        int num;
        for(int j=0; j<n; j++) {
            int count = 0;
        	for(int k=0; k<m; k++) {
            	cin >> num;
                if(num==1)
                    count++;
            }
            solved[j] = count;
        }
        
    	// 1등한 사람의 수와, 1등이 푼 문제 수 출력
    	cout << "#" << i+1 << " ";        
        int max = 0; // 한 사람이 가장 많이(1등이) 푼 문제수
        int person = 0; // 1등한 사람 수
        for(int j=0; j<n; j++) {
        	if(max < solved[j]) {
            	max = solved[j];
                person = 0;
            }
            if(max==solved[j]) 
                person++;
        }
        cout << person << " " << max;
        cout << "\n";
    }
    
    return 0;//정상종료시 반드시 0을 리턴해야합니다.
}