Decyzja Świętego Mikołaja:
W tym wyzwaniu pomożesz Świętemu Mikołajowi zdecydować, czy ktoś na liście jest niegrzeczny czy miły, a następnie zdobądź coal
lub toys
.
Ale niestety, Santa jest niezorganizowany, w niektórych jego zapisów, że naughty
, nice
i name
pola są w złej kolejności.
Wkład
Dane wejściowe będą miały następujący, wymienny format:
- imię osoby (nie może zawierać dwukropka, tylko
a-zA-Z0-9
) - słowo
naughty
poprzedzone bezpośrednio dwukropkiem i nieujemną liczbą całkowitą reprezentującą liczbę przypadków, gdy Święty Mikołaj złapał cię na niegrzeczności - słowo
nice
poprzedzone bezpośrednio dwukropkiem i nieujemną liczbą całkowitą reprezentującą ilość razy, kiedy Święty Mikołaj złapał cię na byciu miłym
Wszystkie oddzielone pojedynczym białym znakiem (ASCII 32) między każdym z nich.
Ponadto nazwa nie będzie zawierać spacji między częściami nazwy Santa Claus
-> SantaClaus
.
Premia:
- (25%) : On jest Świętym Mikołajem, więc musi dwukrotnie sprawdzić listę i upewnić się, że nie ma duplikatów. (W takim przypadku dostaje tylko pierwsze wyniki, które ma użytkownik)
Przykład:
Quill naughty:4 nice:0
naughty:0 Doorknob nice:3
naughty:2 Quill nice:6
nice:3 balpha naughty:3
pops nice:4 naughty:2
Wydajność:
Dane wyjściowe powinny składać się z:
Nazwisko osoby, po której następuje:
- Jeśli jest więcej punktów
naughty
, tocoal
: - Jeśli jest więcej punktów
nice
, totoys
. Ale jeśli
naughty
inice
są równe, toneeds more data
Przykładowe dane wyjściowe:
- Z premią organizacyjną i premią za usuwanie duplikatów:
Quill coal
Doorknob toys
balpha needs more data
pops toys
- Bez premii:
Quill coal
Doorknob toys
Quill toys
balpha needs more data
pops toys
Odpowiedzi:
Pyth, 68 bajtów - 25% = 51
Wypróbuj online: demonstracja
źródło
Julia,
176169 bajtówJest to anonimowa funkcja, która przyjmuje ciąg znaków i wypisuje wynik do STDOUT. Aby to nazwać, nadaj mu nazwę, np
f=s->...
.Nie golfowany:
źródło
Pyth - 64 bajty
Spróbuje użyć spakowanych ciągów.
Wypróbuj online tutaj .
źródło
Rubin,
144123155 * .75 = 116,25 bajtówDzięki histocrat za sugestię
grep
metody.164 * .75 = 123 bajtów
144 bajty
Nie golfił
Stosowanie:
źródło
.select{|t|t[?:]}
można.grep(/:/)
Perl,
13811310510310296 - 25% = 72zawiera +1 dla
-p
Mniej golfa:
nice
lubnaughty
jako nazwy zmiennej;<=>
do indeksowania listy ciągów wyjściowych.nice
lubnaughty
zamiast 2.$$_ ? ... : ($$_++, ...)
na$$_++ ? ... : ...
(dlaczego nie widziałem tego wcześniej).
źródło
JavaScript (ES6), 174 bajty - 25% bonus = 130,5 punktów
Wyjaśnienie
Test
Pokaż fragment kodu
źródło
CJam, 64 bajty
Wypróbuj online!
źródło
Lua, 329 bajtów - 25% bonus = 246,75
Będę edytować w wersji bez golfa i wyjaśnień później, w tej chwili trochę zmęczony. Wszystkie dane wejściowe są pobierane z wiersza poleceń, oddzielone spacją.
źródło
Python 2, 206 bajtów - 25% = 154,5
źródło
JavaScript (ES6) 120 (160–25%)
Anonimowa funkcja wykorzystująca ciągi szablonów, istnieją 4 nowe znaki, które są znaczące i są uwzględnione w liczbie bajtów
źródło