해결된 질문
작성
·
138
0
강의 보기 전에 작성하고 몇가지 테스트 케이스 추가해서 잘 나오긴 했는데 솔루션 코드랑 살짝 달라서 혹시 다른 테스트 케이스에서 반례가 있는 건지 로직은 같아서 괜찮은 건지 질문 드립니다.
function solution(board, moves) {
let answer = 0;
const stack = [];
moves.forEach((move) => {
for (let i = 0; i < board.length; i++) {
const item = board[i][move - 1];
if (item === 0) continue;
if (item === stack[stack.length - 1]) {
stack.pop();
answer += 2;
} else {
stack.push(item);
}
board[i][move - 1] = 0;
break;
}
});
return answer;
}
let a = [
[0, 0, 0, 0, 0],
[0, 0, 1, 0, 3],
[0, 2, 5, 0, 1],
[4, 2, 4, 4, 2],
[3, 5, 1, 3, 1],
];
let b = [1, 5, 3, 5, 1, 2, 1, 4];
console.log(solution(a, b));