チャレンジ
印刷可能なASCII文字(コード)で構成される、それぞれ30までの長さの2つの文字列が与えられた場合、それらをコードの最小バイトのバランススケールに配置します!これは次の手順で構成されます。
- 文字列の重みを計算して比較する
- 適切に傾斜したASCIIアートスケールを選択する
- 二つの弦をはかりの上に置きます
文字列は、配列、2つの引数、またはその他の適切なメソッドとして渡されます。
文字列の重みは、その文字列の文字の重みの和として定義されます。
- スペースのウェイトは0(
)です - 小文字の重みは2(
abcdefghijklmnopqrstuvwxyz)です - 大文字の重みは4(
ABCDEFGHIJKLMNOPQRSTUVWXYZ)です - 他のすべての記号の重みは3(
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~)です。
スケールは次のようになります。
。_
| _- * / \
|-* / \
_- * | / \
_- * | / \
/ \ | * ------ *
/ \ |
/ \ |
/ \ |
* ------ * |
______ | ______
_。
/ \ * -_ |
/ \ *-|
/ \ | * -_
/ \ | * -_
* ------ * | / \
| / \
| / \
| / \
| * ------ *
______ | ______
。
|
______ | ______
/ \ | / \
/ \ | / \
/ \ | / \
/ \ | / \
* ------ * | * ------ *
|
|
______ | ______
最初の文字列が重い場合は、最初の描画を出力のベースとして使用します。2番目の文字列の方が重い場合は、2番目の描画を使用します。文字列の重みが等しい場合は、3番目を使用します。末尾の空白は許可されます。
次のすべての例のベースとして、3番目の図面のセグメントを使用します。
最初の弦は左パンに、2番目の弦は右パンに配置する必要があります。
ここにsでマークされているように、ダッシュのすぐ上の6x5領域内に非スペース文字を配置して、文字列をパンに配置し#ます(バランススケールの一部を上書きする可能性があります-結構です)。
###### _ ###### ###### ###### / ###### \ * ------ *
これらの文字はすべて「解決」する必要があります。上記のいずれか-の文字または文字列から別の文字:
間違った間違った正しい
____ ____ ____
f / \ / \ / \
l \ / \ / \
/ \ / hov \ / s \
/ oating \ / eri ng \ / ettled \
* ------ * * ------ * * ------ *
さらに、スタック全体はできるだけフラットでなければなりません。つまり、6つの1幅の列の中で、最も高い高さと最も短い高さの差が1を超えてはなりません。
WRONG WRONG CORRECT CORRECT
[最高:5] [最高:4] [最高:5] [最高:2]
[最短:0] [最短:2] [最短:4] [最短:2]
5__5_ ____ 5_5__ ____
45445および/ \ 445454 / \
45445 $%&$ @ 445454 / \
/ 45445&%@%$&445454%&$ @%&
/ 45445 \ /&$ @ $&%\ / 445454 \ / $ @ $%$$ \
* ------ * * ------ * * ------ * * ------ *
文字の正確な順序/配置は重要ではありません。以下は、「Weigh your words!」という文字列の有効な配置です。
____ ____ ____ ____ / \ / \ / \ / \ DS!\ / owd oe \ u!Wd \ ourwor Wihuos yoiwgr eghioo / Weighy \ / egyrr!\ / Wrhd!s \ / rrsuwy \ * ------ * * ------ * * ------ * * ------ *
テストケース
入力:「コードゴルフ」、「コーディングの課題」
重量:32、32
出力例:
。
|
______ | ______
/ \ | / \
/ \ | nge \ s
/ OO \ | シャレ
/ CFGLED \ | /コーディング\
* ------ * | * ------ *
|
|
______ | ______
入力:「」、「$」
重量:0、3
出力例:
_。
/ \ * -_ |
/ \ *-|
/ \ | * -_
/ \ | * -_
* ------ * | / \
| / \
| / \
| / $ \
| * ------ *
______ | ______
入力:「YOU KNOW WHAT THEY SAY!」、「there's_always_a_relevant_xkcd」
重量:75、65
出力例:
。tr_a_s
| _hekx_y
|-* elcdta
_- * | revanw
_- * | / e's_al \
T / \ | * ------ *
AUYOHY |
A!HWYK |
/ OTSMEW \ |
* ------ * |
______ | ______
+1。まず、スペースが「重さ」を持たず、アートワークに含まれていない場合は、なぜそれらをまったく含まないのですか?最初にそれらを除外するのは単に不必要なオーバーヘッドです。第二に、これは私にとって「2-in-1」/カメレオンチャレンジのように感じます-チャレンジ1:「重い」文字列を決定します。