2차원 배열을 생성하여 이중for문으로 문제를 푸는데
arr[n+1][6] //1번부터 사용할 거니까 n+1
for i(1~5) //명수
for j(1~5) //명수
for k (1~5) //학년
a[i][k] == a[j][k] //i번 학생의 k학년과 j번 학생의 k학년이 같은지 비교 참이면 cnt ++;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public int solution(int n, int[][] arr) {
int answer=0, max=Integer.MIN_VALUE;
for (int i = 1; i <= n; i++) {
int cnt=0; //같은 반 했던 횟수 count
for (int j = 1; j <= n; j++) {
for (int k = 1; k <= 5; k++) {
//1학년 때부터 5학년 때까지
if (arr[i][k] == arr[j][k]) {
cnt ++;
break; //주의
}
}
}
if (cnt > max) {
max=cnt;
answer=i; //최댓값을 만드는 i번 학생
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int[][] arr =new int [n+1][6];
for (int i = 1; i < n; i++) {
for (int j = 1; j <= 5; j++) {
arr[i][j]=kb.nextInt();
}
}
System.out.println(T.solution(n, arr));
}
}
'Algorithm > 문제' 카테고리의 다른 글
25. 두 배열 합치기 (2) | 2023.07.24 |
---|---|
24. 멘토링 ★★★ (1) | 2023.07.18 |
22. 봉우리 (1) | 2023.06.27 |
21. 격자판 최대합 (1) | 2023.06.22 |
20. 등수 구하기 (0) | 2023.06.22 |