(([][()]){[{}({}[({})])]{{}()(<()>)}{}([][()])}<>)
オンラインでお試しください!
誰もがここに50バイトのソリューションを投稿しているので私のものです(48バイトのものがありますが、それはDjMcMayhemの簡単な修正でしたので、投稿する価値があると感じました)
説明
この回答では、値のキャンセルを広く使用しています。
ゴルフされていないように見える
([][()])({<{}({}[({})])>{<{}>()(<()>)}{}<([][()])>}<>)
ここでは、スタックに1つの項目が残るまで、デルタが計算されます。デルタがゼロでない場合、内側のループから1つの値を蓄積するたびに。
これは非常に簡単な方法です。
これをゴルフっぽくするために、値のキャンセルを開始します。最初の1つであり、どんな脳みそのゴルファーにとっても明らかなはずの1つは、スタックの高さです。それはよく知られている事実です
([])({<{}>...<([])>}{})
と同じです
(([]){[{}]...([])}{})
値が1つ変更されると、同じことが成り立ちます。これは私たちに与えます
(([][()]){[{}]<({}[({})])>{<{}>()(<()>)}{}([][()])}<>)
これでバイトを節約できなかったことにお気づきかもしれませんが、先に進むにつれて便利になると心配しないでください。
ステートメントが表示された場合、別の削減を実行できます
<(...)>{<{}> ...
あなたは実際にそれを減らすことができます
[(...)]{{} ...
この作品、私たちはループを入力すると、理由[(...)]
と{}
キャンセルされます、そして、私たちがいない場合の値[(...)]
既にが最初の場所でゼロだったし、キャンセルする必要はありません。コード内でこのパターンが発生しているため、これを減らすことができます。
(([][()]){[{}][({}[({})])]{{}()(<()>)}{}([][()])}<>)
これにより2バイト節約できましたが、2つのネガも隣り合わせに配置されました。これらを組み合わせて、さらに2を節約できます。
(([][()]){[{}({}[({})])]{{}()(<()>)}{}([][()])}<>)
それが私たちのコードです。
False
は代わりに出力される場合、私の答えは有効ですか?