プログラマJavaScriptクレーン式抽出ゲーム
プログラマーLV 1クレーン人形をつかむゲーム
https://programmers.co.kr/learn/courses/30/lessons/64061#
n/a言語
JavaScript
コード#コード#
function solution(board, moves) {
let result = 0;
let box = [];
let temp = 0;
for(let i = 0; i < moves.length; i++) {
for(let j = 0; j < board.length; j++){
if(board[j][moves[i] - 1] !== 0) {
if(board[j][moves[i] - 1] === temp) {
result += 2;
if(box.length > 0) {
box.pop();
temp = box[box.length - 1];
} else {
temp = 0;
}
} else {
box.push(board[j][moves[i] - 1]);
temp = board[j][moves[i] - 1];
}
board[j][moves[i] - 1] = 0;
break;
}
}
}
return result;
}
に答える
二重forゲートを用いて,移動回数iを増やし,人形を含む配列の寒熱長さjを増やした.クレインが取りに行った列には人形がいた.
その人形が私が以前引いた人形と同じように爆発するとresultに+2を加え、boxに1つ以上の人形があるとboxの上部の人形が爆発するのでpop()で取り除きます.あと残ったぬいぐるみの一番上のぬいぐるみがインデックス値として出てきますlengthに-1を加える
質問の条件を満たさなければ、箱の中に人形は一人も存在しませんか?
boxの最後の人形は存在しないのでtempは0になります.
クレーンで抜いた人形とboxの一番上の人形が違う種類だったら?結果は変わらずboxの上部にのみ追加され、tempは今回選んだ人形になります.
いずれにしても、元の位置の人形が引き抜かれたので、その位置で人形を人形がないという意味に変えて0、そして2番目は脱出ゲートです.(私にはわかりませんが…)結果値を返します.
Reference
この問題について(プログラマJavaScriptクレーン式抽出ゲーム), 我々は、より多くの情報をここで見つけました https://velog.io/@gkswn45/프로그래머스-JavaScript-크레인인형뽑기-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol