私はこのチャレンジを独自に思いつきましたが、それはDoorknobによるこのチャレンジの逆であることが判明しました。彼の仕様が本当に好きなので、私は自分の説明を作り上げるのではなく、その大部分を盗むことにしました。
チャレンジ
コンパス上の32点のいずれかの略語を指定して、対応する度数を印刷します。32ポイントの説明に興味がない場合は、下の表に進んでください。
完全なコンパスは次のとおりです。
Denelson83(所有作品)[ GFDLまたはCC-BY-SA-3.0 ]、ウィキメディアコモンズ経由
各方向は11.25(360/32)度離れています。たとえば、N(北)は0度、NbE(北から東)は11.25度、NNE(北-北東)は22.5度などです。
詳細には、名前は次のように割り当てられます。
- 0度はN、90度はE、180度はS、270度はWです。これらは基本方向と呼ばれます。
- 基数方向の中間点は、単に連結された基点方向です。NまたはSは常に最初に、WまたはEは常に2番目になります。これらは順序方向と呼ばれます。序数方向と基数方向が一緒になって主な風を形成します。
- 主な風の中間点は、それらが連結されている間の方向です。枢機directionsの指示が最初になり、序数の順になります。これらは半風と呼ばれます。
- 主風と半風の中間地点は、主風から最も近い基本方向の「そば」にある隣接する主風です。これはで示されます
b
。これらは四分の一風と呼ばれます。
これにより、次のチャートが得られます。
# Degrees Abbrv. Name
1 0 N North
2 11.25 NbE North by east
3 22.5 NNE North-northeast
4 33.75 NEbN Northeast by north
5 45 NE Northeast
6 56.25 NEbE Northeast by east
7 67.5 ENE East-northeast
8 78.75 EbN East by north
9 90 E East
10 101.25 EbS East by south
11 112.5 ESE East-southeast
12 123.75 SEbE Southeast by east
13 135 SE Southeast
14 146.25 SEbS Southeast by south
15 157.5 SSE South-southeast
16 168.75 SbE South by east
17 180 S South
18 191.25 SbW South by west
19 202.5 SSW South-southwest
20 213.75 SWbS Southwest by south
21 225 SW Southwest
22 236.25 SWbW Southwest by west
23 247.5 WSW West-southwest
24 258.75 WbS West by south
25 270 W West
26 281.25 WbN West by north
27 292.5 WNW West-northwest
28 303.75 NWbW Northwest by west
29 315 NW Northwest
30 326.25 NWbN Northwest by north
31 337.5 NNW North-northwest
32 348.75 NbW North by west
これは、より詳細なチャートであり、コンパスのポイントのより良い説明です。
あなたの仕事は、3番目の列から32の略語の1つを入力として受け取り、2番目の列に対応する度を出力することです。
入力は常にこれらの32個の文字列のいずれか1つであると想定することができます(オプションとして、しかし常に一貫して単一の末尾の改行を期待できます)。出力も上記のとおりに指定する必要がありますが、末尾のゼロを使用できます。オプションで、単一の末尾の改行を出力できます。
プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。
これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。