작성
·
217
0
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
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][n];
// int[] arr2 = new int[n];
for (int i = 0 ; i < n; i++){
for (int j =0; j < n; j++)
arr[i][j] = in.nextInt();
}
// for (int i = 0 ; i < n; i++){
// arr2[i] = in.nextInt();
// }
int test = t.solution11(n,arr);
System.out.print(test);
}
// 11번 임시반장
private int solution11(int n, int[][] arr){
int answer = 0;
int MAX = 0;
for (int i =0; i < 5; i ++){
int cnt = 0;
for (int j=0; j < n;j++){
int temp = arr[j][i];
for (int k =0; k <n; k++){
if (k == j) continue;
else if (temp == arr[k][i]){
cnt++;
}
}
if (cnt > MAX){
MAX = cnt;
answer = j;
}
}
}
return answer;
}
}
답변 2
0
안녕하세요^^
학년이 5학년까지로 정해져 있습니다. 입력크기를 5로 하고 학년을 읽는 반복문도 5로 하면 런타임에러는 잡을 수 있습니다. 아래와 같이 하면 에러는 안나옵니다.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
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];
// int[] arr2 = new int[n];
for (int i = 0 ; i < n; i++){
for (int j =0; j < 5; j++)
arr[i][j] = in.nextInt();
}
// for (int i = 0 ; i < n; i++){
// arr2[i] = in.nextInt();
// }
int test = t.solution11(n,arr);
System.out.print(test);
}
// 11번 임시반장
private int solution11(int n, int[][] arr){
int answer = 0;
int MAX = 0;
for (int i =0; i < 5; i ++){
int cnt = 0;
for (int j=0; j < n;j++){
int temp = arr[j][i];
for (int k =0; k <n; k++){
if (k == j) continue;
else if (temp == arr[k][i]){
cnt++;
}
}
if (cnt > MAX){
MAX = cnt;
answer = j;
}
}
}
return answer;
}
}
0
아 죄송합니다 ; 다시 올려드렸어요!