가오리의 코딩일기
[64061] 크레인 인형뽑기 게임 본문
https://programmers.co.kr/learn/courses/30/lessons/64061
function solution(board, moves) {
let result = 0;
let move = 0;
let basket = [];
for (let i = 0; i < moves.length; i++) {
for (let j = 0; j < board.length; j++) {
if (board[j][moves[i] - 1] !== 0) {
if (move === board[j][moves[i] - 1]) {
result += 2;
if (basket.length > 0) {
basket.pop();
move = basket[basket.length - 1];
} else {
move = 0;
}
} else {
basket.push(board[j][moves[i] - 1]);
move = board[j][moves[i] - 1];
}
board[j][moves[i] - 1] = 0;
break;
}
}
}
return result;
}
→ 바구니 역할을 할 stack에 0을 넣는다 → 아무것도 없으면 오류
→ moves 길이만큼 for문 → 해당 라인에서 뽑기
→ board[j][move-1]이 0이면 비어있으니 그냥 넘어감
→ 0이 아니라면 stack에서 board[j][move-1]이 같은지 비교
→ 같으면 터지기 때문에 pop, result+2
→ 다르면 push
'HTML+CSS+JavaScript > 프로그래머스' 카테고리의 다른 글
[17681] (1차) 비밀지도 (0) | 2022.06.19 |
---|---|
[17682] 다트 게임 (0) | 2022.06.17 |
[72410] 신규 아이디 추천 (0) | 2022.06.16 |
[42840] 모의고사 (0) | 2022.06.16 |
[42862] 체육복 (0) | 2022.06.16 |