工場の中をプレゼントが進んでいく様子をシミュレートし、最終的にどうなるかを返してください。そのために関数 runFactory(factory) を作成する必要があります。
factory は string[] であり、各マスには次のいずれかが入ります:
すべての行は同じ長さであり、これ以外の記号は登場しないことに注意してください。
プレゼントは 必ず位置 (0,0)(左上)からスタートします。各ステップで現在のマスを読み、その方向に移動します。ドット(.)のマスに到達した場合は、工場から正しく出られたことを意味します。
結果
次のいずれかの値を返します:
completed ドット(.)に到達した場合
loop 同じ位置を 2 回訪れた場合
broken 盤面の外に出てしまった場合
例
runFactory([
'>>.'
]) // 'completed'
runFactory([
'>>>'
]) // 'broken'
runFactory([
'>><'
]) // 'loop'
runFactory([
'>>v',
'..<'
]) // 'completed'
runFactory([
'>>v',
'<<<'
]) // 'broken'
runFactory([
'>v.',
'^..'
]) // 'completed'
runFactory([
'v.',
'^.'
]) // 'loop'