#SOGL V0.12, 35 bytes "ζ¦F‘→I ]I!}Su[I:lzm≠?■しかくFail←z=?Suκ←
Try it Here! - click run, and enter the alphabet in the input box. Note that it may be a little laggy because SOGL only pauses for input every 100 executed tokens (and SOGL is quite slow). If that bothers you, run sleepBI=true in the console.
note: don't run this in the compatibility mode - it'll just loop forever.
Explanation:
"ζ¦F‘ push "inputs.value" (yes, that is a word in SOGLs english dictionary)
→ execute as JS, pushing the inputs contents
I named function I
] } do while POP is truthy
I execute I
! negate it - check if it's empty
Su push the current milliseconds since start
[ loop
I execute I
: duplicate the result
l let its length
zm mold the alphabet to that size
≠? if that isn't equal to one of the result copies
■しかくFail push "Fail"
← and exit, implicitly outputting that
z=? if the other copy is equal to the alphabet
Su push the milliseconds since start
κ subtract the starting milliseconds from that
← and exit, implicitly outputting the result
dzaima
- 20.3k
- 2
- 42
- 75