작성
·
170
0
import java.util.*;
public class Main {
public static void main(String[] args) {
Main T = new Main();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[][] arr = new int[n][5];
for (int i = 0; i < n; i++) {
for (int j = 0; j < 5; j++) {
arr[i][j] = in.nextInt();
}
}
System.out.println(T.solution(n, arr));
}
private static int solution(int n, int[][] arr) {
int answer = 0;
int temp;
int high = 0;
for (int k = 0; k < n; k++) {
temp = 0;
for (int i = 0; i < n; i++) {
// if(k == i) continue;
for (int j = 0; j < 5; j++) {
if (arr[k][j] == arr[i][j]) {
temp++;
break;
}
}
}
if (temp > high) {
high = temp;
answer = k + 1;
}
}
return answer;
}
}
안녕하세요. 강의 듣기 전에 혼자 풀어본 코드인데요.
현재 학생(k)과 전체 학생 i(0 < i < n)를 각 학년별로 j(0 < j < 5) 비교하면서
같은 반인 경우(arr[k][j] == arr[i][j]), 카운팅을 하고 break로 다음으로 넘어가는 식으로 작성을 했습니다.
근데 현재 학생(k)과 비교 학생(i)이 같은 순간(자기 자신)에 continue를 하니까 오답이 뜨고, 해당 코드를 지우면 정답이 되는데 둘 다 정답이 아닌가 해서 질문 올립니다!