hye-log

[SWEA]6958번 동철이의 프로그래밍 대회(JAVA) 본문

CodingTest/SWEA

[SWEA]6958번 동철이의 프로그래밍 대회(JAVA)

iihye_ 2023. 7. 30. 21:11

0. 문제 링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWjlFcGK3dMDFAVT 

 

SW Expert Academy

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

swexpertacademy.com

 

1. 문제 설명

1) 1등한 사람의 수와 1등이 푼 문제의 수 구하기

 

2. 입출력

// input
4
3 5
1 0 0 1 0
1 1 1 0 0
0 0 0 1 0
4 4
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
4 4
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
1 1
0

// output
#1 1 3
#2 4
#3 4 3
#4 1 0

 

3. 코드

import java.util.*;

public class swea6958 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int T = sc.nextInt(); // 테스트 케이스의 개수
		for(int t = 1; t <= T; t++) {
			int N = sc.nextInt(); // 대회에 참여한 사람의 수
			int M = sc.nextInt(); // 문제의 개수
			
			int winner = 0; // 1등한 사람의 수
			int winScore = 0; // 문제의 수
			
			for(int n = 0; n < N; n++) {
				int temp = 0; // 점수
				for(int m = 0; m < M; m++) {
					temp += sc.nextInt();
				}
				
				if(temp > winScore) { // 현재 1등보다 많이 풀었으면
					winScore = temp;
					winner = 1;
				} else if(temp == winScore) { // 현재 1등과 똑같이 풀었으면
					winner++;
				}
			}
			
			System.out.println("#" + t + " " + winner + " " + winScore);
		}
	}
}

 

실행 결과

 

4. 회고

1) 점수를 배열 형태로 꼭 저장할 필요는 없다

2) 보통 정답 값과 비교할 때 큰 경우만 생각하는데, 동점인 경우가 있으므로 else if로 나누어서 생각했다

 

5. Github

https://github.com/iihye/Algorithm/blob/main/SWEA/swea6958.java

 

728x90
Comments