4
ボックスを切り替えます!
ボックス化される可能性のある文字列を指定して、ボックスを切り替えます。これは、テストケースと説明で明らかになります。 入出力 入力フォーマット 入力は、CR、LF、またはCRLFで区切られた単一の文字列、または文字列のリストです。入力フォーマットはあなた次第です。 出力フォーマット 出力形式は入力と同じ形式でなければなりません。 説明+例 例としてボックス化された文字列を見てみましょう: +-------------+ |Hello, World!| +-------------+ ボックスを切り替えるには、最初と最後の行と最初と最後の列を削除します。(最後の行の終わりにオプションの末尾の改行がある)最後の行の後に末尾の空白がなく、どの行にも末尾の空白がなく、改行を数えないと想定することができます。 これは次のようになります。 Hello, World! 反対に 文字列がボックスにない場合は、ボックスを追加します。これはかなり簡単です。プリペンド+---...---+を持つ独自のライン上のkダッシュkライン毎に、次に最も長い直線の長さであり、そして、最も長い直線の長さと一致した後プリペンドとパイプ文字を追加する空白末尾とパッドを("|")。最後に、+---...---+最初の行と同じ設定を含む行を追加します。 例えば: Hello, World! になる: +-------------+ |Hello, World!| +-------------+ 入力のどの行にも末尾の空白がないと想定するかもしれません。 ボックスを囲む文字列の別の例: Hello, World! なる +----------+ |Hello, | | World!| +----------+ まだボックス化する必要があるものの例: +--------+ | | --------+ になる: +----------+ |+--------+| || || | --------+| +----------+ …