개발놀이터
2-12. 멘토링 본문
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 |