Ho affrontato questa sfida in modo indipendente, ma si è rivelato il contrario di questa sfida di Doorknob . Dato che mi piacciono molto le sue specifiche, ho deciso di rubarne gran parte invece di preparare le mie spiegazioni.
La sfida
Data l'abbreviazione di uno dei 32 punti sulla bussola, stampare i gradi corrispondenti. Sentiti libero di saltare alla tabella seguente se non sei interessato a una spiegazione dei 32 punti.
Ecco la bussola completa:

Di Denelson83 (opera propria) [ GFDL o CC-BY-SA-3.0 ], tramite Wikimedia Commons
Ogni direzione è 11,25 (360/32) gradi più avanti della precedente. Ad esempio, N (nord) è 0 gradi, NbE (nord-est) è 11,25 gradi, NNE (nord-nord-est) è 22,5 gradi, ecc.
Nel dettaglio, i nomi sono assegnati come segue:
- 0 gradi è N, 90 gradi è E, 180 gradi è S e 270 gradi è W. Queste sono chiamate direzioni cardinali.
- I punti a metà strada tra le direzioni cardinali sono semplicemente le direzioni cardinali tra cui sono concatenati. N o S vanno sempre per primi e W o E sono sempre i secondi. Queste sono chiamate direzioni ordinali. Le direzioni ordinali e cardinali formano insieme i venti principali.
- I punti a metà strada tra i venti principali sono le direzioni tra cui sono concatenati. Le direzioni cardinali vanno prima, secondo ordinale. Questi sono chiamati mezzi venti.
- I punti a metà strada tra il vento principale e il mezzo vento sono il vento principale adiacente "per" la direzione cardinale più vicina al vento principale. Questo è indicato con a
b. Questi sono chiamati quarti di vento.
Ciò si traduce nella seguente tabella:
# 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
Ecco una tabella più dettagliata e forse una migliore spiegazione dei punti cardinali.
Il tuo compito è quello di prendere come input una delle 32 abbreviazioni dalla terza colonna e generare i gradi corrispondenti nella seconda colonna.
Si può presumere che l'input sarà sempre esattamente una di quelle 32 stringhe (e, facoltativamente, ci si può aspettare una nuova riga finale). Anche l'output deve essere fornito esattamente come elencato sopra, anche se sono consentiti zero finali. Se lo si desidera, è possibile generare una nuova riga finale finale.
È possibile scrivere un programma o una funzione, prendendo l'input tramite STDIN (o l'alternativa più vicina), l'argomento della riga di comando o l'argomento della funzione e producendo il risultato tramite STDOUT (o l'alternativa più vicina), il valore di ritorno della funzione o il parametro della funzione (out).
Questo è il golf del codice, quindi vince la risposta più breve (in byte).


