Wyzwanie
Biorąc pod uwagę listę notatek, musisz zwrócić odpowiednią tabulaturę.
Notatki
Nuty muszą zawierać się w przedziale od A do G włącznie, a zakres oktawy od 2 do 6 włącznie. Format jest nutowo-oktawowy, #
reprezentujący ostry i b
płaski. Np .: A7
lub F#3
.
Zakładki
Tabulatura to metoda pisania muzyki polegająca na schematycznym przedstawieniu instrumentu. Zwykle jest reprezentowany jako pięć linii z cyframi.
Liczby zapisane na liniach reprezentują próg użyty do uzyskania pożądanego skoku. Na przykład cyfra 3 zapisana w górnym wierszu kostki oznacza, że gracz powinien nacisnąć trzeci próg na wysokim E (pierwszy ciąg). Liczba 0 oznacza nakrętkę - to znaczy ciąg otwarty.
Liczby progów nie mogą być większe niż 22, a gitara ma sześć strun.
Tabulatura musi być w standardowym formacie ASCII . Nie wolno dołączać żadnych wskaźników techniki (młotek, ślizganie itp.). Oddziel każdą nutę pięcioma myślnikami. W przypadku podwójnych cyfr zmniejsz liczbę myślników do czterech.
Początek karty powinien wyglądać następująco:
e |-----
B |-----
G |-----
D |-----
A |-----
E |-----
A koniec powinien wyglądać następująco:
-----|
dla wszystkich linii.
(źródło: justinguitar.com )
Przykład
Input: C3 C3 D3 E3 F3
Output:
e |-----------------------------------|
B |-----------------------------------|
G |-----------------------------------|
D |-----------------0-----2-----3-----|
A |-----3-----3-----------------------|
E |-----------------------------------|
Zwycięski
Najkrótszy kod wygrywa
Odpowiedzi:
Python 3 -
329328319300To jest mój pierwszy post na codegolf.se i prawdopodobnie nie jest prawie optymalny; Przeczytałem tutaj wiele postów, ale mój pierwszy golf w golfa napisałem jakieś 50 godzin temu. Chciałem jednak spróbować!
EDYCJA: Usunięto 1 bajt, nie trzeba było tam generować dodatkowego myślnika
EDYCJA 2: Usunięto 9 bajtów, usunięto niektóre spacje z ciągu nut
EDYCJA 3: Usunięto 19 bajtów poprzez konwersję
filter()
do generatoraNieco golfista:
źródło