現在、私の仕事で新しい建物に移動しました。それは最新技術であると想定されており、自動照明、自動ロールダウンシャッターを備えており、現在この町で最も環境に優しい建物として知られています。
しかし、それはあまりうまくいきません。ロールダウンシャッターは曇りの日には時々下がり、太陽が輝いてくると上がり、ライトは5-10ごとにオンとオフを交互に切り替えることでディスコ効果を引き起こすことがあります。分。また、これらのロールダウンシャッターや温度を手動で制御する方法はありませんが、ライトのリモコンはあります。
ただし、これらのリモコンには取扱説明書が付属していませんが、20個を超えるボタンが含まれており、必要なものを除き、あらゆる種類の操作を実行できます。
PS:1.5か月前にSandboxでこのチャレンジを書きました。現在、私たちは、リモコンがどのように機能するかを知っています。
この建物の大きな利点の1つは、外気温が摂氏30度以上ですが、中は常に21室温であるということです。
それがイントロであり、照明のリモコンがこの課題に影響を与えました。
チャレンジ:
最初にランプをオフにしたとしましょう:
L
その後、あらゆる種類のボタンを押して、ランプの状態を出力します。
ランプのリモコンのさまざまな機能には、次の番号を使用します。マイナス記号がその番号の前にある場合、逆を行います。
1=オン;-1=オフ。2=強度を25%増加させます。-2=強度を25%減少(暗く)します。3=スプレッドを50%増やします。-3=スプレッドを50%縮小します。4=ライトの種類を切り替えます。
それで、これはすべてかなりあいまいですので、それぞれの意味をもう少し詳しく見てみましょう。
したがって、-1(OFF)はかなり明白であり1、初期のON状態になります(の場合は50%2、の場合は50%3):
//
//
L ====
\\
\\
2そして-2、光がどこまで進むかです(==25%ごとに追加されます):
0% (equal to a light bulb that is OFF)
L
25%
L ==
50%
L ====
75%
L ======
100%
L ========
3そして-3、光がどこまで広がるかです。
0%:
L ====
50%:
//
//
L ====
\\
\\
100%:
|| //
||//
L ====
||\\
|| \\
(注:2との3両方が100%の場合、この状態になります:
|| //
|| //
|| //
||//
L ========
||\\
|| \\
|| \\
|| \\
4 ライトのタイプを切り替えることです。
Default:
//
L ==
\\
After toggling (note the single space before '/' instead of two):
/
L --
\
入力:
可能なボタン押下を含む入力を受け取ります。例えば:
12-34
出力:
入力のすべてのボタンが連続して押された後のライトランプの状態。したがって、上記の入力例では、次の出力が得られます。
L ------
チャレンジルール:
- 入力にはのみが含まれます
1234-(-前には含まれません4)。 - 0%未満または100%を超えることはできません。数値がこれらの境界を超えて増減する場合、無視できます。
- ランプがオフになっている場合、あなたはどんな行動を無視することができますし、再びオンに戻すときには、バック初期オン状態(いずれも50%にリセットされます
2と3、デフォルト4)。たとえば12-1-341、上記の初期のオン状態を出力します。(ヒント:1入力の最後の前のすべてを無視できます-を除き-1ます。) - ライトの長さに等しい後続スペースまたは単一の後続改行は禁止されていません。ただし、余分な不要な改行を追加することはありません。
- 入力は、単一の文字列ではなく整数のリストとして取得できます。の代わりに
12-34、[1,2,-3,4]入力として使用できます。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿することを妨げないでください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターを持つ関数/メソッド、完全なプログラムを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテストへのリンクを追加してください。
- また、必要に応じて説明を追加してください。
テストケース:
12-34
L ------
12-1-341
//
//
L ====
\\
\\
14-3224333-2
|| //
|| //
||//
L ======
||\\
|| \\
|| \\
142-1-314-3-322
L --------
1324-2-3
/
/
L ----
\
\
134
| /
|/
L ----
|\
| \
1-2-2-214-3-3-3
L ----
4)。質問してくれてありがとう。
1押されている場合、パラメーターはリセットされていますか?
134何ですか?