エルフたちは、サンタの作業場の扉を守る暗号化されたコードを見つけました🔐。PIN は4桁で、次のようなブロックの中に隠されています:
[1++][2-][3+][<]
コードから PIN を復号する関数を書いてください。
コードは [...] という角括弧で囲まれたブロックから成り、各ブロックが PIN の1桁を生成します。
通常のブロックは [nOP...] という形をしており、n は数字(0〜9)で、その後に(任意で)いくつかの演算が続きます。
演算は数字に順番に適用され、内容は次の通りです:
結果は常に1桁(10 での剰余算)になり、たとえば 9 + 1 → 0 や 0 - 1 → 9 のようになります。
特別なブロック [<] も存在し、これは直前のブロックの桁を繰り返します。
最終的に 4 桁未満しか得られない場合は、null を返さなければなりません。
🧩 例
decodeSantaPin('[1++][2-][3+][<]')
// "3144"
decodeSantaPin('[9+][0-][4][<]')
// "0944"
decodeSantaPin('[1+][2-]')
// null (桁数が 2 桁しかない)