function solution(board, moves) {
let answer = 0;
let count = moves.length; // 움직일 횟수
let col = board.length; // 현재 board의 col수
let bascket = []; // 뽑은 인형 쌓는 바구니
let lastItem = 0; // 바구니의 마지막 인덱스
for (let i = 0; i < count; i++) {
let selected = moves[i] - 1; // 선택되어진 열
let pick = 0; // 뽑은 인형
// 해당 열에서 가져올 인형 (0은 인형없는 빈칸)
for (let j = 0; j < col; j++) {
if (board[j][selected] !== 0) { // 뽑힌 인형
pick = board[j][selected];
lastItem = bascket.length - 1; // 바구니의 맨 위 인형
if (pick === bascket[lastItem]) { // 뽑힌 인형 = 바구니의 맨 위 인형
bascket.pop(); // 바구니 마지막 인형 제거
answer += 2; // 점수 추가
} else {
bascket.push(pick); // 바구니 맨 위로 추가
}
board[j][selected] = 0; // 선택 된 인형위치는 빈칸
break; // 해당 루프에서 벗어나기
}
}
}
return answer;
}
'프로그래머스 > JavaScript' 카테고리의 다른 글
[프로그래머스 JavaScript] Level1 실패율 (0) | 2020.06.09 |
---|---|
[프로그래머스 JavaScript] Level1 예산 (0) | 2020.06.09 |
[프로그래머스 JavaScript] Level1 체육복 (0) | 2020.06.03 |
[프로그래머스 JavaScript] Level1 직사각형 별찍기 (0) | 2020.04.17 |
[프로그래머스 JavaScript] Level1 이상한 문자 만들기 (0) | 2020.04.03 |