エルフたちはクリスマスに向けて工房を少し片付けるために、トナカイ型ロボット掃除機(@)を作りました 🦌。
トナカイはボードの上を動き回って床に落ちているもの(*)を集め、障害物(#)を避けなければなりません。
あなたは2つのパラメータを受け取ります:
board: ボードを表す stringmoves: 移動を表す string。'L'(左)、'R'(右)、'U'(上)、'D'(下)移動のルール:
*)を集めた場合 → 'success' を返す。#)にぶつかった場合 → 'crash' を返す。'fail' を返す。トナカイが一度でも床に落ちているものを集めたら、その後の移動で障害物にぶつかったりボードの外に出たりしても、結果は常に 'success' になる点に注意してください。
重要: board の最初と最後の行は空行であり、無視しなければなりません。
例:
const board = `
.....
.*#.*
.@...
.....
`
moveReno(board, 'D')
// ➞ 'fail' -> 動くが何も集めない
moveReno(board, 'U')
// ➞ 'success' -> すぐ上の (*) を集める
moveReno(board, 'RU')
// ➞ 'crash' -> 障害物 (#) にぶつかる
moveReno(board, 'RRRUU')
// ➞ 'success' -> (*) を集める
moveReno(board, 'DD')
// ➞ 'crash' -> ボードの下端にぶつかる
moveReno(board, 'UUU')
// ➞ 'success' -> 床に落ちているもの (*) を集めたあと、上にはみ出してぶつかる
moveReno(board, 'RR')
// ➞ 'fail' -> 動くが何も集めない
