작성
·
376
0
import java.util.*;
import java.io.*;
public class Main {
static int[][] graph;
static boolean[][] visited;
static int N;
static int[] answer;
static int real;
public static void solution(int y, int x) { // y : 학생, x : 학년
visited[y][y] = true; // 자신을 카운팅하지 않기 위한 방법
for (int i = 1; i <= N; i++) { //세로 비교 (반 같은지 비교)
if (graph[i][x] == graph[y][x] && !visited[y][i]) {
answer[y]++;
visited[y][i] = true;
}
}
int max = Integer.MIN_VALUE; // answer 배열에서 최댓값 찾기
for (int i = 0; i < answer.length; i++) {
if (answer[i] > max) {
max = answer[i];
real = i;
}
}
}
public static void main(String args[]) throws IOException{
// 0. 입출력 구현
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
graph = new int[N+1][6];
visited = new boolean[N+1][6];
answer = new int[N+1];
for (int i = 1; i <= N ; i++) {
String[] str = br.readLine().split(" ");
for (int j = 1; j <= 5; j++) {
graph[i][j] = Integer.parseInt(str[j - 1]);
}
}
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= 5; j++) {
solution(i ,j);
}
}
bw.write(String.valueOf(real));
bw.close();
br.close();
}
}
피드백 요청합니다..!