문제
N명의 사람들이 어떤 프로그래밍 대회에 참가했고, 대회에는 M개의 문제가 나왔다.
NⅹM 크기의 2차원 배열 a가 주어질 때, ai,j 는 대회가 끝나고 i번 사람이 j번 문제를 풀었다면 1, 풀지 못했다면 0을 가지는 값이다.
2차원 배열을 보고 1등을 한 사람이 몇 명이고 몇 문제를 풀었는지 구하는 프로그램을 작성하라.
풀이방법
입력된 2차원 배열의 각 행의 합 중 최대값을 구하고, 이 최대값과 같은 값을 가지는 행의 갯수를 구한다.
소스코드
package samsung;
import java.util.*;
public class s_6913 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
int n = sc.nextInt();
int m = sc.nextInt();
int[][] a = new int[n+1][m+1];
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
a[i][j] = sc.nextInt();
}
}
int max = 0;
for(int i = 1; i <= n; i++) {
int sum = 0;
for(int j = 1; j <= m; j++) {
sum += a[i][j];
}
max = Math.max(max, sum);
}
int cnt = 0;
for(int i = 1; i <= n; i++) {
int sum = 0;
for(int j = 1; j <= m; j++) {
sum += a[i][j];
}
if(sum == max)
cnt++;
}
System.out.println("#" + t + " " + cnt + " " + max);
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 7102. 준홍이의 카드놀이 (0) | 2020.02.23 |
---|---|
[SWEA] 7087. 문제 제목 붙이기 (0) | 2020.02.23 |
[SWEA] 6730. 장애물 경주 난이도 (0) | 2020.02.23 |
[SWEA] 6692. 다솔이의 월급 상자 (0) | 2020.02.23 |
[SWEA] 5789. 현주의 상자 바꾸기 (0) | 2020.02.23 |
댓글