[プログラマー]クレーン兄抽選ゲーム
12567 ワード
に答える
function solution(board, moves) {
var answer = 0;
let bucket = [];
moves.forEach ((c)=>{
for (var i=0;i<board.length;i++) {
if (board[i][c-1]>0) {
bucket.push(board[i][c-1]);
board[i][c-1]=0
if (bucket.length>1 && bucket[bucket.length-1]===bucket[bucket.length-2]) {
answer+=2
bucket.pop();
bucket.pop();
}
break
}
}
});
return answer;
}
残念なことに。
+)他者コード
forEach
を利用してこの問題の2次元配列を探索することができる.moves.forEach(n => {
const idx = board.findIndex(r => r[n-1] > 0);
if(idx === -1) {
return;
}
...
findIndexサンプルコード
const array1 = [5, 12, 8, 130, 44];
const isLargeNumber = (element) => element > 13;
console.log(array1.findIndex(isLargeNumber));
完全なコード
function solution(board, moves) {
var answer = 0;
var temp = [];
moves.forEach(n => {
const idx = board.findIndex(r => r[n-1] > 0);
if(idx === -1) {
return;
}
const target = board[idx][n-1];
const prev = temp.length > 0 ? temp[temp.length-1] : undefined;
if(target === prev){
answer += 2;
temp.pop();
}else {
temp.push(target);
}
board[idx][n-1] = 0;
});
return answer;
}
Reference
この問題について([プログラマー]クレーン兄抽選ゲーム), 我々は、より多くの情報をここで見つけました https://velog.io/@wjd489898/프로그래머스-크레인-인형뽑기-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol