これはシリーズの2番目で、3番目は黄色の木で分岐した2つの道路です(パート3)
これは、私の以前の課題であった黄色の木に分かれた2つの道路(パート1)に基づいています。かなり好評でしたが、かなり些細なものでした(Javaの52バイトの回答です!)
インスピレーション
この課題は、ロバートフロストの有名な詩「The Road Not Taken」に触発されたものです。
2本の道が黄色い木に分かれていて、
残念ながら私は両方を旅行することはできず
、一人の旅行者であり、長く立ち、そしてできる限り
1本を見下ろした
。... 2段落トリミング...
私はこれを
どこか年齢と年齢のためにため息をつくことで伝えます
。2本の道が森の中に分かれていて、
私は旅の少ない方を連れて行きました
。
最後から2番目の行に注目してくださいI took the one less traveled by,
。あなたの目標は、文字列入力で最も移動の少ない道路を見つけることです。互いに異なる2つの値のいずれかを出力する必要があります。この値は、どの道を曲がって道路の移動量を減らすかを示します。道路の分岐点(六角形の軌跡が数字に変わる)が交差点にあります。そこから、数字で構成される2つのパスがあります。数字の合計が最小のパスは、撮影されていない道路になります。通行されていない道路のパスは大きいが、パスの合計は小さいことに注意してください。以下は、使用されていないパスに対して「左」または「右」を出力するプログラムの例/テストケースです。
1 2
1 2
1 2
#
#
#
left (3 < 6)
1 2
2 2
1 1
#
#
#
left (4 < 5)
12 2
11 2
1 1
#
#
#
right (6 > 5)
99 989
99 89
99 99
99 99
#
#
#
#
left (72 < 79)
1111 1110
001 111
11 11
11 11
#
##
##
##
left (9 < 10) (Note: 1111 is interpreted as 1+1+1+1=4, not 1111=1111)
1 1
0 1
1 1
1 1
1 1
1 1
1 1
#
#
#
#
#
left (6 < 7)
1 1
0 1
1 1
1 1
1 1
1 1
1 1
#
#
#
#
#
left (6 < 7)
想定して覚えておくべきこと
- 常に2つのパスがあります。これ以上でもそれ以下でもありません。
- STDINから一度に1行、LF文字を含む文字列、またはリテラルのバックスラッシュとnを含む文字列を入力できます。他の方法で入力が必要な場合は、コメントで承認を求めてください。
- 無効な入力や関連付けられたパスについて心配する必要はありません。これらがプログラム/機能に入力されることはありません。
- 入力は、言語の文字列制限よりも小さい任意の長さの幅または高さにすることができます。
#
同じ行にa と番号はありません。- パス内のすべての数字は、0〜9の正の整数です。
- 入力または出力の末尾に改行を使用できます。
- 例については、以下のJS ES6の回答を参照してください。
- 2つのパスの間には常に少なくとも1つのスペースがあります。
- 2つのパスの高さは各マップで常に同じですが、他のマップでは異なる場合があります。
- 特定のテストケースについて混乱している場合は、教えてください。
- 1111は、1111 = 1111ではなく、1 + 1 + 1 + 1 = 4として解釈されます。マップは一連の1桁の数字であり、任意の長さの数字ではありません。
- これはcode-golfなので、バイト単位の最短回答が勝ちです!
- 禁止されている標準的な抜け穴
このチャレンジについて質問がある場合は、コメントでお尋ねください。
let answers = $('div > h1').map(function(){return $(this).clone().children(':not(a)').remove().end().text().replace(/\s+/g,' ').trim()}).get();answers.splice(0, 1);answers.join('\n');
$("div > h1").map(function(){return $(this).text()}).get().join("\n");
あなたのコンソールに貼り付けることですべての答えとそのバイト数を見ることができます!