Ispirato da questo xkcd
Lavori per Shazam e hanno un progetto per te. Alcuni clienti si lamentano del fatto che la loro app occupi troppo spazio sul telefono, quindi desiderano che tu codifichi una versione ridotta dell'app. Sfortunatamente, il tuo codice esistente può solo capire la parola "na" e dovrai spedirlo presto. Va bene, faremo il meglio con quello che abbiamo.
La sfida
È necessario scrivere un programma completo che accetta l'input dell'utente o accetta un argomento della riga di comando e stampare il titolo e l'artista della canzone. Poiché stiamo cercando di correggere i clienti che si lamentano delle dimensioni del programma, il codice deve essere il più breve possibile. L'input sarà una stringa composta interamente da na, con un solo spazio tra di loro. Le lettere minuscole / maiuscole sono arbitrarie. Questo è considerato un input valido: Na Na nA na NA
Questo è un input non valido: nah nah NA naNa banana
è necessario determinare quale brano è in riproduzione e stamparlo esattamente in questo formato:
Song: <trackname>
Artist: <artist>
Se l'ingresso è esattamente 8 na, questo corrisponde a due brani separati, quindi è necessario stampare entrambi:
Song: Batman Theme
Artist: Neal Hefti
e
Song: Na Na Hey Hey Kiss Him Goodbye
Artist: Steam
Se l'input è esattamente di 10 na, è necessario stampare:
Song: Katamari Damacy
Artist: Yuu Miyake
Se l'input è esattamente 11 na, è necessario stampare:
Song: Hey Jude
Artist: The Beatles
Se l'input è 12 o più na, è necessario stampare
Song: Land Of 1000 Dances
Artist: Wilson Pickett
Infine, se l'ingresso non è valido, ci sono meno di 8 na o una delle parole non è "na", il programma non riesce a capire la musica. Quindi logicamente, c'è solo un'altra canzone che potrebbe essere. È necessario stampare:
Song: Africa
Artist: Toto
Come al solito, si applicano scappatoie standard e vince la risposta più breve in byte.
na
s non è? L'ho appena ascoltato e ho pensato che fosse (in termini di lunghezze delle note) quarter quarter quarter quarter / eighth sixteenth sixteenth quarter-quarter-quarter / eighth sixteenth quarter-quarter-quarter
, che è di 12 na
s.
onnnnnnnnne-one-three-one-a-two-threeeeeeeeeee-one-a-two-threeeeeeee-hey-jude
sicuramente l'11
na na / na na / na na / na na
x2 batman
. Ho notato che la seconda volta che ho visto il fumetto.