[μκ³ λ¦¬μ¦ || νλ‘κ·Έλλ¨Έμ€] ν¬λ μΈ μΈν λ½κΈ° κ²μ
μ€λμ κ°μμμ λ°°μ΄ λλ‘
λ¨Όμ μ΄λ€κ² μ£Όμ΄μ‘κ³ , μ΄λ€ κ±Έ ꡬν΄μΌ νλμ§ μ 리λ₯Ό λ¨Όμ ν΄λκ³ ,
κ·Έ λ€μμ μ΄λ€ λ°©μμΌλ‘ ꡬν΄μΌ νλμ§ μ¨λ΄€λ€.
μ΄ κ³Όμ λ ν μ€νΈμ μΌλΆλΌκ³ μκ°νκ³ μ°λ λ¨κ³λ³λ‘ μ°¨κ·Όμ°¨κ·Ό μΈ μ μμλ€.
0. 2μ°¨μ λ°°μ΄κ³Ό 1μ°¨μ λ°°μ΄μ΄ μ£Όμ΄μ§λ€. / return νλ 건 count λ μ«μ
1. 2μ°¨μ λ°°μ΄μμ moves λ°°μ΄μ ν μ€ κ°μ₯ μμ μλ μ μ€ 0 μ΄ μλ μ λ₯Ό μ°Ύλλ€.
2. μμμ λ°κ΅¬λ array λ₯Ό λ§λ λ€.
3. 1λ²μμ μ°Ύμ 0μ΄ μλ μλ₯Ό array μ λ£λλ€.
4. λ°κ΅¬λμμ κ°μ μ2κ°κ° μλ€λ©΄ μ κ±°νλ€.
5. μ κ±° λ μΈνμ κ°μλ₯Ό ꡬνλ€. (μ κ±°λλ κ³Όμ μ΄ λ°λ³΅λ μ *2 λ₯Ό ν΄λ λ¨)
4λ²μ λ°λ‘ μ§ννλ κ²λ³΄λ€ 3λ²μ μ§ννλ©΄μ νμΈνλ©° μ§ννλκ² λ κ°νΈν κ±°λ μκ°μ΄ λ€μλ€.
function solution(board, moves) {
const basket = [];
let count = 0;
moves.forEach(move => {
for (let i = 0; i < board.length; i++) {
if (board[i][move - 1] !== 0) {
if (basket[basket.length - 1] === board[i][move - 1]) {
count++;
basket.pop();
} else {
basket.push(board[i][move - 1]);
}
board[i][move - 1] = 0;
break;
}
}
});
return count * 2
}
moves μ μλ€μ κΈ°μ€μΌλ‘ board μμ μλ₯Ό μ°Ύλλ€.
moves μ μμΈ move λ₯Ό κ³ μ ν΄λμ μνμμ
for λ¬Έμ λλ € 2μ°¨μ λ°°μ΄μΈ board λ₯Ό νμνλ€.
0μ΄ μλ μμΌ κ²½μ°
- λ§μ½ basket μ μλ λ§μ§λ§ μμ λ°κ²¬ν μκ° κ°λ€λ©΄, basket μμ κ·Έ μλ₯Ό μ κ±°ν΄μ£Όκ³ count λ₯Ό +1 ν΄μ€λ€.
- λ§μ½ basket μ μλ λ§μ§λ§ μμ λ°κ²¬ν μκ° λ€λ₯΄λ€λ©΄, basket μ μλ₯Ό μΆκ°ν΄μ€λ€.
μ΄μ¨λ 0μ΄ μλ μκ° λμκΈ° λλ¬Έμ λ½κΈ°κ° μ€νλκ³ , board μ μ리μ 0μ λ£μ΄μ€ λ€, break λ‘ for λ¬Έμ μ€λ¨νλ€.
count λ κ°μ μλ₯Ό λ§λ μ κ±°κ° μ€νλ μμ΄κΈ° λλ¬Έμ,
μΈνμ μλ₯Ό return νκΈ° μν΄ *2λ₯Ό κ³±νλ€.
μΈνμ 2κ°κ° λ§λλ©΄ 무쑰건 μ¬λΌμ§κΈ° λλ¬Έμ 3콀보 λ±μ κ³ λ €ν νμκ° μλ€.