introduzione
Posso digitare a un ritmo moderato, utilizzando il layout di tastiera QWERTY. Ma se una parola come yellowwooddoor ha un sacco di lettere ripetute, ci vuole un po 'più di tempo per digitarla. Ancora peggio è quando una parola come "saltare" ha lo stesso dito usato per più lettere consecutive diverse.
Ecco quanto tempo ci vuole per scrivere lettere su ogni dito (misurate in modo molto non scientifico):
Le colonne sono il nome del dito, i tasti / secondo, i secondi / il tasto e i tasti utilizzati da ciascun dito
Typing same letter twice:
L Pinky 5.2 0.1923076923 1qaz
L Ring 5 0.2 2wsx
L Mid 5.3 0.1886792453 3edc
L Index 5.5 0.1818181818 4rfv5tgb
R Thumb 6.5 0.1538461538 [space]
R Index 6.9 0.1449275362 6yhn7ujm
R Mid 6.3 0.1587301587 8ik,
R Ring 6.2 0.1612903226 9ol.
R Pinky 6.1 0.1639344262 0p;'
Typing different letter on same finger:
L Pinky 4.6 0.2173913043
L Ring 4.6 0.2173913043
L Mid 4.5 0.2222222222
L Index 5.3 0.1886792453
R Index 5.4 0.1851851852
R Mid 5.1 0.1960784314
R Ring 5.2 0.1923076923
R Pinky 5.2 0.1923076923
Stessi dati in formato CSV .
Ci vuole
.75 * (first_finger_same_letter_time + second_finger_same_letter_time) / 2
tempo di passare tra due dita.
Sfida
Data una stringa come input, quanto tempo ci vuole per digitarla?
- Il "timer" inizia nel momento in cui viene premuto il primo tasto e termina quando viene premuto l'ultimo tasto. Stai solo contando il tempo tra i tasti premuti.
- Questo è code-golf . Vince la risposta più breve in byte.
- L'invio può essere un programma o una funzione completi.
- Input e output nel modo desiderato , stdin / out, parametri di funzione, file, non importa.
- L'output deve essere accurato con almeno 3 cifre decimali (+/- 0,001 per errore di arrotondamento va bene). 0. iniziale per numeri inferiori a 1 e riga finale nuova facoltativa.
- L'input sarà una stringa che contiene az (0 minuscole), spazio, punto e virgola, virgola, punto e apostrofo.
- Scrivo sempre gli spazi con il pollice destro.
- Uso le normali dita di battitura a tocco (puoi anche guardare la tabella sopra per le mappature dei tasti delle dita).
- Codice di riferimento utilizzato per generare casi di test
Casi test
(stringa vuota o qualsiasi stringa di un carattere) - 0.000
aa - 0,192
fff - 0,364
fj - 0,123
the quick brown fox jumped over the lazy dog - 5.795
yellowwooddoor - 1.983
orangewooddoor - 1.841
jump on it, jump on it - 2.748
type on it, type on it - 2.549
abcdefghijklmnopqrstuvwxyz01234567890 ;,.' - 5.746
ok, this may not be the most accurate but it's in the ballpark, maybe within 30 percent or so. - 12.138
0se l'input è vuoto o un singolo carattere?