첫 번째 줄에 반 학생 수 N(1 <= N <= 20) 과 M(1 <= M <= 10)이 주어진다.
두 번째 줄부터 M개의 줄에 걸쳐 수학테스트 결과가 학생번호로 주어진다. 학생번호가 제일 앞에서부터 1등, 2등, ...N등 순으로 표현된다.
만약 한 줄에 N=4이고, 테스트 결과가 3 4 1 2로 입력되었다면 3번 학생이 1등, 4번 학생이 2등, 1번 학생이 3등, 2번 학생이 4등을 의미합니다.
첫 번째 줄에 짝을 만들 수 있는 총 경우를 출력합니다.
3 4 1 2
4 3 2 1
3 1 4 2
3
const arr = [
[3, 4, 1, 2],
[4, 3, 2, 1],
[3, 1, 4, 2],
];
solution(arr);
// 완전탐색 대표적 문제
function solution() {
let answer = 0;
// 행 크기
let m = arr.length;
// 학생 수
let n = arr[0].length;
for (let i = 1; i <= n; i++) {
for (let j = 1; j <= n; j++) {
let cunt = 0;
for (let s = 0; s < m; s++) {
let pi = 0;
let pj = 0;
for (let k = 0; k < n; k++) {
if (arr[s][k] === i) pi = k;
if (arr[s][k] === j) pj = k;
}
if (pi < pj) {
cunt++;
}
}
if (cunt === m) {
answer++;
}
}
}
console.log(answer);
return answer;
}