Sono una persona pigra ma efficiente, come probabilmente lo sono anche molti di voi. Quindi, ogni volta che sto facendo qualcosa, voglio farlo con il minimo sforzo. Ecco perché ti sto chiedendo di risolvere questo problema per me.
Quello che ho qui è una specie di documento. Su ogni riga di questo documento è presente una sola parola o una breve frase. Il documento non è ordinato, ma va bene lo so dove si trova tutto. Potrei usare un po 'di aiuto per trovare le cose più velocemente, e per questo ho bisogno di un secondo elenco. È qui che entri. Per ogni riga di testo in questo documento, ho bisogno di un identificatore. Qualcosa che posso CTRL+ F, ma non può essere più lungo del necessario per ottenere quel risultato.
Esempio di input:
(blank)
an apple
spiderman 3
7pm pick up laundry
tequila
fake mustache
dishes on wednesday
banana
biscuits
(blank)
Esempio di output:
ap,3,7,q,f,w,ba,bi
Mi ripeterò qui, per essere sicuro che siamo sulla stessa pagina:
- L'input è un file di testo non formattato contenente un elenco di elementi, separati da interruzioni di riga. Ce l'ho qui in formato .txt, si chiama "STUFF.TXT"
- La prima e l'ultima riga del documento sono vuote. Ogni altra riga contiene una voce di lunghezza> 0.
- Il file contiene solo caratteri alfanumerici (tutti minuscoli), spazi e interruzioni di riga.
- L'output desiderato è un elenco di identificatori, nello stesso ordine del mio elenco originale.
- Non voglio più di una parola di ricerca per ogni elemento dell'elenco. Se ci sono più risposte, scegline una, non mi interessa quale. Nell'esempio sopra ho scelto 'ap' per
an apple, ma avresti potuto scegliere 'n', 'a', 'pp', 'pl' o 'le'. Non "un", perché è dentrobanana. - Posso assicurarti che il file non è mai vuoto e non contiene mai duplicati.
- Se necessario , è possibile abbinare sul terminatore di linea. Ma questa è l'ultima risorsa da utilizzare solo quando non c'è altro modo per distinguere tra le voci dell'elenco (ad esempio "mela" e "mele").
Non sono ammesse scappatoie standard . Inoltre, questo è il codice golf, quindi vince il codice più breve.
Un altro esempio:
(blank)
ban
any
king
bean
yen
rake
raki
bar
(blank)
E il suo output:
ban,ny,g,be,ye,ke,aki,ar