Dzięki @KritixiLithos za pomoc w tym wyzwaniu!
V jest językiem programowania, który napisałem, aby móc używać i rozszerzać vima do wyzwań związanych z golfem. Pierwsze zatwierdzenie nastąpiło 3 marca 2016 roku, co oznacza, że dziś V kończy roczek! Woo-hoo
W ciągu pierwszego roku istnienia V wykonano 176 zatwierdzeń od czterech różnych autorów, 140 odpowiedzi od 12 różnych użytkowników i zbyt wielu popsutych zduplikowanych operatorów, aby liczyć . Ma tłumacza online , hojnie obsługiwanego przez @Dennis, który był uruchamiany prawie 8 000 razy od grudnia .
Podejmijmy wyzwanie, aby świętować urodziny V. Ponieważ większość funkcji w V została zaprojektowana z myślą o manipulacji strunami i sztuce ascii , po prostu wydaje się naturalne, że każde wyzwanie świętujące V powinno dotyczyć sztuki ascii. Twoim dzisiejszym wyzwaniem jest przyjęcie słowa jako danych wejściowych i przekształcenie go w kształt litery V. Na przykład wpis „Hello” powinien dać następujące V:
Hello olleH
Hello olleH
Hello olleH
Hello olleH
Hello olleH
HellolleH
HellleH
HeleH
HeH
H
Oto kilka szczegółów na temat tego, jak powinno wyglądać Twoje V. Jeśli ciąg wejściowy ma długość n znaków, litera V powinna mieć n*2
wysokość wiersza. Pierwsza linia powinna składać się z:
<input string><(n*2) - 1 spaces><input string reversed>
W każdym nowym wierszu jedna spacja jest dodawana na początku, a dwie strony łańcucha przesuwają się ku sobie, usuwając nakładające się znaki. Aż do ostatniego wiersza, który jest tylko pierwszym znakiem wprowadzania. Końcowe białe znaki w każdej linii są dopuszczalne, a dozwolony jest także końcowy znak nowej linii.
Możesz założyć, że dane wejściowe zawsze będą możliwe do wydrukowania w formacie ASCII bez żadnych spacji, a także możesz pobierać dane wejściowe i wyjściowe dowolną rozsądną metodą. Oto kilka przykładowych danych wejściowych:
Happy:
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
HappyppaH
HapppaH
HapaH
HaH
H
Birthday:
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
BirthdayadhtriB
BirthdadhtriB
BirthdhtriB
BirthtriB
BirtriB
BiriB
BiB
B
V!:
V! !V
V! !V
V!V
V
~:
~ ~
~
Oczywiście, ponieważ jest to gra w golfa , standardowe luki są zakazane, a Twoim celem jest napisanie możliwie najkrótszego programu do wykonania tego zadania. Miłej gry w golfa!
Jeśli chodzi o to, co warto, mam słabość do odpowiedzi na vima, więc wymyślone punkty bonusowe za używanie vima lub V, chociaż każdy język jest akceptowalny. :)