Keputusan Santa:
Dalam tantangan ini, Anda akan membantu Santa Claus memutuskan apakah seseorang di daftar mereka nakal atau baik, dan kemudian mendapatkan coal
atau toys
.
Namun sayangnya, Santa tidak terorganisir, dalam beberapa entri, bidang naughty
, nice
dan name
dalam urutan yang salah.
Memasukkan
Input akan datang dalam format berikut yang dapat dipertukarkan:
- nama orang (tidak boleh mengandung titik dua, hanya
a-zA-Z0-9
) - kata yang
naughty
diikuti secara langsung oleh titik dua dan bilangan bulat non-negatif mewakili jumlah kali Santa menangkap Anda nakal - kata yang
nice
diikuti secara langsung oleh titik dua dan bilangan bulat non-negatif yang menunjukkan berapa kali Santa membuat Anda bersikap baik
Semua dipisahkan dengan spasi putih tunggal (ASCII 32) di antara masing-masing.
Selain itu, nama tidak akan memiliki spasi putih di antara bagian nama Santa Claus
-> SantaClaus
.
Bonus:
- (25%) : Dia adalah Santa Claus, jadi dia perlu memeriksa daftar dua kali , dan pastikan tidak ada duplikat. (Dalam hal ini, itu hanya mendapat skor pertama yang dimiliki pengguna)
Contoh:
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
Keluaran:
Output harus terdiri dari:
Nama orang tersebut diikuti oleh:
- Jika ada lebih banyak poin
naughty
, makacoal
: - Jika ada lebih banyak poin
nice
, makatoys
. Tetapi jika
naughty
dannice
sama, makaneeds more data
Contoh output:
- Dengan bonus organisasi dan bonus penghapusan rangkap:
Quill coal
Doorknob toys
balpha needs more data
pops toys
- Tanpa bonus:
Quill coal
Doorknob toys
Quill toys
balpha needs more data
pops toys
Jawaban:
Pyth, 68 byte - 25% = 51
Cobalah online: Demonstrasi
sumber
Julia,
176169 byteIni adalah fungsi anonim yang menerima string dan mencetak hasilnya ke STDOUT. Untuk menyebutnya, berikan nama, mis
f=s->...
.Tidak Terkumpul:
sumber
Pyth - 64 byte
Akan mencoba menggunakan string yang dikemas.
Cobalah online di sini .
sumber
Ruby,
144123155 * .75 = 116.25 byteTerima kasih kepada histokrat untuk menyarankan
grep
metode.164 * .75 = 123 byte
144 byte
Tidak disatukan
Pemakaian:
sumber
.select{|t|t[?:]}
dapat.grep(/:/)
Perl,
13811310510310296 - 25% = 72termasuk +1 untuk
-p
Kurang bermain golf:
nice
ataunaughty
sebagai nama variabel;<=>
untuk mengindeks daftar string keluaran.nice
ataunaughty
bukan 2.$$_ ? ... : ($$_++, ...)
menjadi$$_++ ? ... : ...
(mengapa saya tidak melihat itu sebelumnya).
sumber
JavaScript (ES6), 174 byte - Bonus 25% = skor 130,5
Penjelasan
Uji
Tampilkan cuplikan kode
sumber
CJam, 64 byte
Cobalah online!
sumber
Lua, 329 Bytes - Bonus 25% = 246,75
Akan mengedit dalam versi dan penjelasan ungolfed nanti, sedikit lelah saat ini. Semua input diambil melalui baris perintah, dipisahkan oleh ruang.
sumber
Python 2, 206 byte - 25% = 154,5
sumber
JavaScript (ES6) 120 (160-25%)
Fungsi anonim menggunakan string template, ada 4 baris baru yang signifikan dan termasuk dalam jumlah byte
sumber