lā¨Ć≠ÅÏžMм}ÔA•6Eˆ2O:¹VÑX©₃Œl±È“v¬BŒŠ>'µ‰‡S“úÁò›ØIÝZÚþв¬èôÏ&Áθ#›¤mн•Ž‚d·вç‡
Should have been 74 bytes without the {À
, but apparently there's a bug in ÅÏ
.. :/
Try it online or verify all test cases.
Explanation:
l # Convert the (implicit) input-string to lowercase
ā # Push a list in the range [1,length] (without popping)
¨ # Remove the last item to make the range [1,length)
Ć # Enclose; append its own head, to have a trailing 1
≠ # Check which values are NOT 1
# (we now have a list of 1s with leading/trailing 0 - e.g. [0,1,1,1,0])
{À # No-op bug-fix: sort the list, and rotate it once towards the left
ÅÏ # Apply to every truthy (==1) character in the string:
žM # Push vowels-constant "aeoiu"
м # Remove those from the current character
}Ô # After the apply_on_truthy, connected uniquify the resulting string
A # Push the lowecase alphabet
•6Eˆ2O:¹VÑX©₃Œl±È“v¬BŒŠ>'µ‰‡S“úÁò›ØIÝZÚþв¬èôÏ&Áθ#›¤mн•
'# Push compressed integer 3279490039691721988310819230336479163628492048784374634744299180010706872685131111164709021133012715753321092552746940878765
ނd # Push compressed integer 33189
· # Double it to 66378
# (compressing 66378 directly is a byte longer: •15Γ•)
в # Convert the large integer to base-66378 as list:
# [923,76,66377,42564,8735,9021,84,124,10839,41,60,40,6664,5198,9532,8869,10817,92,10677,95,8899,9013,9013,88,613,5283]
ç # Convert each integer to a character with that codepoint
‡ # Transliterate the lowercase alphabet to these characters
# (after which the result is output implicitly)
See this 05AB1E tip of mine (sections How to compress large integers? and How to compress integer lists?) to understand why •6Eˆ2O:¹VÑX©₃Œl±È“v¬BŒŠ>'µ‰‡S“úÁò›ØIÝZÚþв¬èôÏ&Áθ#›¤mн•
is 3279490039691721988310819230336479163628492048784374634744299180010706872685131111164709021133012715753321092552746940878765
; ނd
is 33189
; •15Γ•
is 66378
; and •6Eˆ2O:¹VÑX©₃Œl±È“v¬BŒŠ>'µ‰‡S“úÁò›ØIÝZÚþв¬èôÏ&Áθ#›¤mн•Ž‚d·в
is [923,76,66377,42564,8735,9021,84,124,10839,41,60,40,6664,5198,9532,8869,10817,92,10677,95,8899,9013,9013,88,613,5283]
.
pop
=>pp
orp
or either? \$\endgroup\$