Questa è la seconda di una serie, la terza è Due strade divergenti in un bosco giallo (parte 3)
Questo si basa su due strade divergenti in un bosco giallo (parte 1) , una mia precedente sfida. È stato accolto abbastanza bene, ma è stato anche abbastanza banale (una risposta Java in 52 byte!) Quindi ho reso qualcosa di più complesso ...
L'ispirazione
Questa sfida è ispirata al famoso poema di Robert Frost, "The Road Not Taken":
Due strade divergevano in un bosco giallo,
e scusami non potevo viaggiare entrambe
ed essere un viaggiatore, a lungo mi fermai
e ne guardai giù il più lontano possibile
verso dove si piegava nel sottobosco;... 2 paragrafi tagliati ...
Lo dirò con un sospiro
Da qualche parte secoli e secoli da qui:
due strade divergevano in un bosco, e io -
ho preso quella meno percorsa,
e questo ha fatto la differenza.
Notare la penultima riga I took the one less traveled by,
,. Il tuo obiettivo è trovare la strada meno percorsa nel tuo input di stringa. È necessario emettere uno dei 2 valori distinti tra loro che segnalano il modo in cui si deve girare per prendere la strada meno percorsa. Una volta che la strada si biforca (la scia degli esagoni si trasforma in numeri) ci si trova all'incrocio. Da lì, ci saranno 2 percorsi composti da cifre. Il percorso le cui cifre hanno la somma più bassa sarà la strada non presa. Nota che la strada non percorsa potrebbe avere un percorso più grande ma una somma del percorso inferiore. Ecco alcuni esempi / casi di test di un programma che stampa "sinistra" o "destra" per il percorso non preso:
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)
Cose da assumere e ricordare
- Ci saranno sempre 2 percorsi. Ne più ne meno.
- Puoi prendere input da STDIN una riga alla volta, una stringa contenente caratteri LF o una stringa contenente una barra rovesciata letterale e un n. Se hai bisogno di input in altro modo, chiedi l'approvazione nei commenti.
- Non devi preoccuparti di input non validi o percorsi collegati. Questi non verranno mai inseriti nel tuo programma / funzione.
- L'input può essere di qualsiasi lunghezza in larghezza o altezza, inferiore al limite di stringa della tua lingua.
- Non ci saranno mai
#
un numero e nella stessa riga. - Tutte le cifre nel percorso sono numeri interi positivi da 0 a 9.
- Sono consentiti input o output con una nuova riga finale.
- Vedi la mia risposta JS ES6 di seguito per un esempio.
- Ci sarà sempre almeno 1 spazio tra i 2 percorsi.
- I 2 percorsi avranno sempre la stessa altezza per ogni mappa, ma potrebbero essere diversi su altre mappe.
- Se sei confuso su un caso di test specifico, per favore dimmelo.
- 1111 è interpretato come 1 + 1 + 1 + 1 = 4, non 1111 = 1111. La mappa è una serie di numeri a una cifra, non numeri di lunghezza arbitraria.
- Questo è code-golf , quindi vince la risposta più breve in byte!
- Scappatoie standard vietate
Se avete domande su questa sfida, chiedetemi nei commenti e buona fortuna!
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");
nella tua console!