Zainspirowany nadchodzącym wydarzeniem Winter Bash
Objetive
Dodaj kapelusz ^
, ´
albo `
do jednej samogłoski w każdym słowie wejścia.
Zasady
hat
Ivowel
muszą zostać wybrane w sposób losowy. Każdy kapelusz musi pojawić się z takim samym prawdopodobieństwem (33%), a samogłoski muszą mieć takie samo prawdopodobieństwo w prawidłowych samogłoskach w słowie (jeśli słowo ma 2 prawidłowe samogłoski, każde musi mieć 50% prawdopodobieństwa wyboru) - lub najbliższe w twoim języku.- Tylko
AEIOUaeiou
są uważane samogłoski (przepraszamy
) - Samogłoski z czapkami na wejściu NIE kolidują z regułami (można to traktować jako spółgłoskę)
- Jeśli dane wejściowe nie mają samogłoski, nie zostaną zmodyfikowane
- Wielkie litery muszą być zachowane.
Przykłady
winter
> wintér
bash
> bâsh
rhythm
> rhythm
rng ftw
> rng ftw
cat in the hat
> cât ìn thê hát
dès
> dès
tschüss
> tschüss
principî
> prìncipî
PROGRAMMING PUZZLES & code golf
>PROGRÂMMING PÚZZLES & codé gòlf
Zwycięski
To jest golf golfowy, więc wygrywa najkrótszy kod
get the current time
losowy?Odpowiedzi:
Perl 6 , 101 bajtów
Spróbuj
Rozszerzony:
źródło
C #,
273267 bajtówrepl.it demo
Naprawdę czuję, że oszukuję, ponieważ wciąż dodam czapki do już akcentowanych samogłosek utworzonych przez łączenie postaci . Jeśli jest to nie do przyjęcia, daj mi znać, abym mógł
dodać kody z podstawowymideklaracjami,że ta odpowiedź nie jest konkurencyjna.Ta rzecz dodaje losowy znak spośród U + 0300 lub U + 0301 lub U + 0302 , po losowej samogłosce każdego słowa wejściowego (jeśli istnieje).
Niegolfowany (tylko ciało lambda)
źródło
Mathematica, 226 bajtów
Funkcja bez nazwy, która przyjmuje listę znaków jako dane wejściowe i zwraca listę znaków. Wersja łatwiejsza do odczytania, również nieznacznie ulepszona:
Wiersz 13 dzieli dane wejściowe na słowa (listy znaków) na wszystkich spacjach; każde słowo jest obsługiwane przez funkcję zdefiniowaną w wierszach 4-12, a wyniki ponownie łączą się w jedną listę w wierszu 3.
Wiersz 4 ustawia
p
listę indeksów wskazujących, które znaki słowaw
to samogłoski. Jeśli są jakieś samogłoski (linia 5), dokonujemy losowego wyboru jednego z takich indeksówi
(linia 6), a następnie resetujemy ten pojedynczy znak słowa na nowy znak (linie 7-10). Na koniec wyprowadzamy (ewentualnie zmodyfikowane) słowow
.Aby wybrać nowy znak, znajdujemy, gdzie samogłoska, która ma zostać zastąpiona, znajduje się w ciągu
v
i wybieramy odpowiedni kod znakua
. Aby jednak losowo wybrać trzy czapki, bierzemy ten kod i dodajemy losową liczbę całkowitą z przedziału od 0 do 2 (wiersz 9) przed powrotem do postaci. (Na szczęście wszystkie zachowane samogłoski występują w trzech kolejnych kodach znaków UTF-8).źródło
Python 3, 170 bajtów
Nie golfowany:
źródło
import
i*
.j+1 for
może byćj+1for
.