チャレンジ
文字列(改行が含まれる場合があります)または2次元配列と正の整数のいずれかが指定された場合n
、プラットフォームの位置の出力はn
、初期位置の後に回転します。
U, D, R, L
プラットフォームです。
^, v, >, <
プラットフォームの方向を変える矢印です。
U, D, R, L
それぞれ上、下、右、左に移動します。矢がプラットフォームの前にあるとき、それは方向を変えます。
影響するプラットフォーム:
R<
D
^
v
U
>L
>L
<
(上矢印は上L
に影響しますが、下矢印は上に影響しませんL
)
影響しません:
<
R
>
L
v
U
D
^
<R
(R
順調なので、<
影響はありませんR
)
たとえば、これが文字列の場合:
>R <
プラットフォームR
は矢印に近づくまで右に移動します。
> R<
その後、方向を変えて左に移動します。
> R <
(今は残りますが、手紙は変わりません。)
次のように、プラットフォームが動かない場合があります。
>R<
または
v
U
^
最後の例:
v >
D Rv
^U
^ <
一回転後、
v >
U v
D ^ R
^ <
一回転後、
v >
D Uv
^R
^ <
そしてもう1回転:
v >
R v
D ^ U
^ <
プラットフォームは、n
ターン後にオーバーラップしない、プラットフォームが範囲外に出ない、プラットフォームがプラットフォームと同じ方向を指す矢印に触れない、と想定できます。
テストケース
Input:
">R <", 4
Output:
"> R <"
Input:
">R <", 6
Output:
">R <"
Input:
">R<", 29
Output:
">R<"
Input:
"v
U
^", 5
Output:
"v
U
^"
Input:
"v
D
^", 1
Output:
"v
D
^"
Input:
"v
D
^", 4
Output:
"v
D
^"
Input:
"v >
D Rv
^U
^ < ", 2
Output:
"v >
D Uv
^R
^ <
Input:
">RL<", 3
Output:
">LR<"
Input:
">L R<", 4
Output:
"> RL <"
Input:
"> RR<
>L R <", 6
Ouput:
">RR <
> RL <"
Input:
"R <", 4
Output:
" R <"
Input:
"R <", 6
Ouput:
"R <"
ルール
- これはcode-golfなので、バイト単位の最短の回答が優先されます。
- 標準の抜け穴は許可されていません。
3
@closevoters:この課題について何が不明確ですか?
—
Leaky Nun
これに基づいて難解なプログラミング言語を作成する時が来ました。
—
DanTheMan 2016
また、プラットフォームがグリッドから外れた場合はどうなりますか?
—
Quelklef
@Quelklefは、
—
acrolith
n
ターン後にプラットフォームがグリッドから外れないと想定できます。