인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
무엇이 오답인지 모르겠습니다...
작성
·
346
·
수정됨
0
예시 입력 이 외 다른 값으로 입력해도 올바른 값이 나오는데 오답이 나오는 이유가 무엇일까요...?
    public static void main(String[] args) {
        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 t = 0; t < 5; t++) {
                arr[i][t] = in.nextInt();
            }
        }
        int[] result = new int[n];
        for (int i = 0; i < n; i++) {
            for (int t = 0; t < 5; t++) {
                for (int j = 0; j < n; j++) {
                    if (i == j) continue;
                    if (arr[i][t] == arr[j][t]) {
                        result[i]++;
                        break;
                    }
                }
            }
        }
        int max_index = 0;
        for (int i = 0; i < result.length; i++) {
            if (result[i] > result[max_index]) {
                max_index = i;
            }
        }
        System.out.print(max_index + 1);
    }
예시 입력을 넣으면
5
2 3 1 7 3
4 1 9 6 8
5 5 2 4 4
6 5 2 6 7
8 4 2 2 2
학생 순서대로 학년마다 같은 반 이였던 적이 있는 학생이면 +1을 해서 result 배열에 넣어주었습니다.
[0, 1, 2, 3, 1]
마지막으로 result 배열 안에 가장 큰 수를 가진 인덱스에 +1을 해서 출력했습니다.
4답변 1
0
김태원
지식공유자
안녕하세요^^
result[i] 가 i번 학생과 같은 반을 한 학생수인 걸로 해석됩니다.
만약 입력이
2
1 2 3 4 5
1 2 3 4 5
라고 입력되면 위에 코드는 result = [5, 5] 라는 결과가 나옵니다.





