var a=[『プログラマー』『クレーン兄ゲーム』;
1394 ワード
に質問
コードテスト練習>2019 KACA開発者冬季実習>クレーン型選抜ゲーム
ゲーム画面上の格子状態の2次元配列板と人形を挟むために、起動クレーンの位置を含む配列動作をパラメータとして指定した場合、solution関数を完了し、クレーンをすべて起動させ、爆発して消えた人形の個数を返します.
👨🔧 に近づく
ステップ
💻 コード#コード#
const checkSuccesive = (array) => {
if(array.length > 1 && array[0] === array[1]){
array.splice(0,2);
return 1;
}
return 0;
} // 요소가 연속적으로 존재하는지 안하는지 판단
function solution(board, moves) {
let answer = 0;
let stack = [];
let repeat1 = moves.length;
let repeat2 = board.length; // 반복 횟수 지정
for(let i=0;i<repeat1;i++) {
let move = moves[0]-1;
moves.shift()
for(let j=0;j<repeat2;j++){
if(board[j][move]!=0){
stack.unshift(board[j][move]);
board[j][move] = 0;
if(checkSuccesive(stack)){answer+=2;}
break;
}
}
}
return answer;
}
👨🏫 コメント
JavaScriptでは、配列を使用してスタックをより簡単に実装できます.アレイの後ろから順にスタックするpushとpop、またはアレイの前からスタックするunshiftとshiftを使用します.
Reference
この問題について(var a=[『プログラマー』『クレーン兄ゲーム』;), 我々は、より多くの情報をここで見つけました https://velog.io/@fbghgus123/var-a-프로그래머스-크레인-인형뽑기-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol