개발놀이터

2-12. 멘토링 본문

기타/코딩테스트

2-12. 멘토링

마늘냄새폴폴 2023. 2. 14. 12:48

package 배열1차원2차원.멘토링2다시12.my;

import java.util.Scanner;

public class Main {

    /**
     * 내 머리가 빠가인가 이해가 안된다...
     */

    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int grade = kb.nextInt();
        int count = kb.nextInt();
        int[][] arr = new int[grade][count];

        for (int i = 0; i < grade; i++) {
            for (int j = 0; j < count; j++) {
                arr[i][j] = kb.nextInt();
            }
        }

        System.out.println(solution(grade, count, arr));
    }

    private static int solution(int grade, int count, int[][] arr) {
        int answer = 0;

        for (int i = 0; i < grade; i++) {
            for (int j = 0; j < count; j++) {

            }
        }

        return answer;
    }
}
package 배열1차원2차원.멘토링2다시12.teacher;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        int m = kb.nextInt();
        int[][] arr= new int[m][n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                arr[i][j] = kb.nextInt();
            }
        }
        System.out.println(solution(n, m, arr));
    }

    private static int solution(int n, int m, int[][] arr) {
        int answer = 0;

        for (int i = 1; i <= n; i++) {          // 첫 2중 for 문은 총 n 명의 개수만큼 나올 수 있는 모든 경우의 수
            for (int j = 1; j <= n; j++) {
                int cnt = 0;
                for (int k = 0; k < m; k++) {   // k 는 테스트 번호
                    int pi = 0, pj = 0;         // pi = i 의 위치, pj = j 의 위치
                    for (int s = 0; s < n; s++) {   // s 는 등수
                        if (arr[k][s] == i) {   // k 번째 테스트에서 s 등을 한 인물이 i 와 같다면
                            pi = s;
                        }
                        if (arr[k][s] == j) {
                            pj = s;
                        }
                    }
                    if (pi < pj) {
                        cnt++;
                    }
                }
                if (cnt == m) {
                    answer++;
                }
            }
        }

        return answer;
    }
}

 

일단 이해해한다고 했는데... 진짜 이해가 안된다. for 문이 두개여도 복잡한데 네개나 나오니까 대가리 터질것같다

'기타 > 코딩테스트' 카테고리의 다른 글

3-1. 두 배열 합치기  (0) 2023.02.18
2장 배열 주요개념 및 복습 노트  (0) 2023.02.14
2-11. 임시반장  (0) 2023.02.14
2-10. 봉우리  (0) 2023.02.14
2-9 격자판 최대합  (0) 2023.02.14