문제 이름 : 크레인 인형뽑기 게임
<<< 문제 내용 >>>
function solution(board, moves) {
let answer = 0;
let check = 0;
let compare = [];
for(let i of moves){
for(let j=0;j<board.length;j++){
if(board[j][i-1] > 0){
check = board[j][i-1];
//console.log(`i = ${i}, j = ${j}, check = ${check}`);
board[j][i-1] = 0;
if(check == compare[compare.length-1]){
compare.pop();
answer += 2;
}else{
compare.push(check);
}
break;
}
}
}
return answer;
}
* 인형을 담는 바구니를 stack 형식으로 사용하여 0이 아닌 값을 찾을 때 마다 스택의 마지막 값과 비교합니다.
* 데이터가 적을 때는 다소 느릴 수 있지만, 전체적으로는 더 빠른 방식을 https://yuddomack.tistory.com/entry/자바스크립트-문법-비구조화-할당 와 map, transpose, => 등을 이용하면 만들 수 있는 것 같다.
차차 개선점을 찾을 실력이 된다면 알아보면 좋을 것 같다.
도움이 되셨다면 공감 부탁드립니다.