π λ¬Έμ
νμλ€ λ° μ μλμ λ° νμλ€μ μν μ μλ₯Ό ν₯μμν€κΈ° μν΄ λ©ν λ§ μμ€ν
μ λ§λ€λ €κ³ νλ€. λ©ν λ§μ λ©ν (λμμ£Όλ νμ)μ λ©ν°(λμμ λ°λ νμ)κ° ν μ§μ΄ λμ΄ λ©ν κ° λ©ν°μ μν 곡λΆλ₯Ό λμμ£Όλ κ²μ΄λ€. μ μλμ Mλ²μ μνν
μ€νΈ λ±μλ₯Ό κ°μ§κ³ λ©ν μ λ©ν°λ₯Ό μ νλ€. λ§μ½ Aνμμ΄ λ©ν μ΄κ³ , Bνμμ΄ λ©ν°κ° λλ μ§μ΄ λμλ€λ©΄, Aνμμ Mλ²μ μνν
μ€νΈμμ λͺ¨λ Bνμλ³΄λ€ λ±μκ° μμμΌ νλ€.
Mλ²μ μν μ±μ μ΄ μ£Όμ΄μ§λ©΄ λ©ν μ λ©ν°κ° λλ μ§μ λ§λ€ μ μλ κ²½μ°κ° μ΄ λͺ κ°μ§ μΈμ§ μΆλ ₯νλ λ¬Έμ μ΄λ€.
π νμ΄
π§π»π» λμ νμ΄ λ°©λ²
M - μ΄ ν μ€νΈ νμ, N - λ° νμ μ
arr - κ° μΈλ±μ€λ§λ€ λ©ν°κ° λ μ μλ νμμ μ μ₯ν λ°°μ΄(0λ² μΈλ±μ€λ 1λ² νμμ λ©ν λ‘ νμ κ²½μ°λ₯Ό κ°λ¦¬ν΄)
- ν μ€νΈλ§λ€ λ° νμ μλ§νΌ λλ©΄μ 1λ² νμλΆν° Nλ² νμκΉμ§μ λ±μλ₯Ό μ°Ύλλ€.
- ν΄λΉ νμμ λ±μλ³΄λ€ λμ νμ λλ λ³ΈμΈμ λ©ν°κ° λ μ μμΌλ―λ‘ arr[ j ] λ°°μ΄μ μ μ₯νλ€.
- μ΅μ’ μ μΌλ‘ arr λ°°μ΄μ λλ©΄μ λ° νμ μμμ μ€λ³΅μ μ μΈν νμ μλ₯Ό λΉΌμ€ ν answerμ λμ νλ€.
function solution(test) {
let answer = 0;
const M = test.length;
const N = test[0].length;
const arr = Array.from({ length: N }, (_, i) => []);
for (let i = 0; i < M; i++) {
for (let j = 0; j < N; j++) {
const score = test[i].indexOf(j + 1);
for (let k = 0; k <= score; k++) {
arr[j].push(test[i][k]);
}
}
}
for (let x of arr) {
answer += N - [...new Set(x)].length;
}
return answer;
}
let arr = [
[3, 4, 1, 2],
[4, 3, 2, 1],
[3, 1, 4, 2],
];
console.log(solution(arr));
π¨πΌπ« κ°μ¬λ νμ΄ λ°©λ²
- λ©ν μ λ©ν°κ° μ§μ΄ λ μ μλ λͺ¨λ κ²½μ°μ μ(n x n)λ₯Ό ꡬνλ€. λ©ν μ λ©ν°κ° κ°μ νμμ΄λ©΄ μλμ§λ§ κ²μ¦νλ κ³Όμ μμ κ°μ κ²½μ°λ μμ°μ€λ½κ² μ μΈλλ€.
- λ€μμ ν μ€νΈλ₯Ό λλ©΄μ λ©ν (i)μ λ©ν°(j)κ° μ§μ΄ λ μ μλμ§ κ²μ¦μ ν΄μΌνλ€.
- κ° ν μ€νΈμμ λ©ν μ λ©ν°μ λ±μλ₯Ό λΉκ΅νμ¬ λ©ν μ λ±μκ° λ λμΌλ©΄ cntμ 1μ λνλ€.
- λΉκ΅κ° λ€ λλ ν cntμ μ μ₯λ κ°μ΄ μ΄ ν μ€νΈ νμμ κ°μΌλ©΄ λͺ¨λ ν μ€νΈμμ λ©ν κ° λ©ν°μ λ±μλ³΄λ€ λμ μ§μ΄ λ μ μλ€λ κ²μ΄λ―λ‘ answerμ 1μ λνλ€.
function solution(test) {
let answer = 0;
m = test.length;
n = test[0].length;
// λͺ¨λ κ²½μ°μ μ (n x n)
for (let i = 1; i <= n; i++) {
for (let j = 1; j <= n; j++) {
let cnt = 0;
// (λ©ν , λ©ν°) μ§μ΄ λ μ μλμ§ κ²μ¦
for (let k = 0; k < m; k++) {
let pi = (pj = 0);
for (let s = 0; s < n; s++) {
if (test[k][s] === i) pi = s;
if (test[k][s] === j) pj = s;
}
if (pi < pj) cnt++;
}
if (cnt === m) answer++;
}
}
return answer;
}
let arr = [
[3, 4, 1, 2],
[4, 3, 2, 1],
[3, 1, 4, 2],
];
console.log(solution(arr));
'Algorithm > μΈνλ°(inflearn)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript/section 4] 05 - Kλ²μ§Έ ν° μ (0) | 2022.09.16 |
---|---|
[JavaScript/section 4] 04 - μ‘Έμ μ λ¬Ό (0) | 2022.09.15 |
[JavaScript/section 4] 02 - λ€μ§μ μμ (0) | 2022.09.14 |
[JavaScript/section 4] 01 - μλ¦Ώμμ ν© (0) | 2022.09.14 |
[JavaScript/section 3] 05 - λ¬Έμμ΄ μμΆ (0) | 2022.09.13 |