Tempat:
Reputasi Anda ada dalam Formulir Penukaran-Stack jika itu dapat diwakili dengan mendekomposisi jumlah medali Anda (emas, perak, dan perunggu dihitung secara terpisah) menjadi basis-10 digit mereka dan bergabung dengan mereka dalam urutan tertentu, dengan beberapa peringatan.
Saat membusuk, masing-masing
- Digit medali emas bernilai tiga digit.
- Perak bernilai dua digit.
- Perunggu adalah satu digit.
- Selain itu, karena SE tidak menampilkan jenis medali jika Anda tidak memilikinya, hitungan 0 medali untuk suatu jenis tidak akan menghasilkan a
[0]
.
Contoh:
[1 Gold, 2 Silvers, 3 Bronzes]
akan terurai menjadi[1,1,1,2,2,3]
. 321112 dan 213121 adalah dua contoh nomor bentuk-SE untuk medali-medali ini.[20 Golds, 0 Silvers, 20 Bronzes]
akan terurai menjadi[2,2,2,0,0,0,2,0]
. 20002022 adalah nomor SE-form.[11 Golds, 0 Silvers, 0 Bronzes]
akan terurai menjadi[1,1,1,1,1,1]
. 111111 adalah satu-satunya nomor bentuk-SE untuk ini.
Tidak akan ada yang memimpin 0 ketika mempertimbangkan nomor SE. Misalnya, dalam contoh ke-2 di atas, 00002222 -> 2222
tidak akan dianggap sebagai nomor SE-form untuk [20,0,20]
.
Input output:
Input adalah daftar / tuple / array / apa pun dari [reputation, gold_medals, silver_medals, bronze_medals]
yang semuanya merupakan bilangan bulat non-negatif. Ini adalah pesanan yang dianggap tetapi dapat diubah. Catat saja jawaban Anda jika Anda melakukannya.
Output adalah dua nilai yang konsisten untuk true dan false.
Aturan:
- Masukan akan selalu valid
- Anda akan selalu memiliki setidaknya 1 Rep
- Anda tidak dapat memiliki medali sama sekali, yang seharusnya selalu kembali salah.
- Hitungan medali tidak ada hubungannya dengan kenyataan. Memiliki beberapa ratus emas dan tidak ada perunggu baik-baik saja.
- Ini adalah kode-golf sehingga jawaban terpendek dalam byte menang.
Kasus uji:
#[Rep, Gold, Silver, Bronze] -> Output
[4, 0, 0, 4] -> True
[1447, 0, 4, 17] -> True
[74414, 4, 0, 17] -> True
[4444, 4, 0, 4] -> True
[4455, 0, 54, 0] -> True
[5355, 5, 0, 3] -> True
[53535, 5, 3, 0] -> True
[4444, 0, 0, 4444] -> True
[444, 4, 0, 0] -> True
[1234, 0, 0, 1234] -> True
[1234, 0, 0, 4321] -> True
[4444, 1, 0, 1] -> False
[5555, 5, 0, 55] -> False
[1234, 1, 23, 4] -> False
[1, 0, 0, 0] -> False
[1001001, 0, 10, 10] -> False
sumber
[bronze, silver, gold]
dan input kedua yang terpisahreputation
?Jawaban:
05AB1E ,
1614131110 byteMengambil input medali dalam urutan
[bronze, silver, gold]
sebagai input pertama, danreputation
sebagai input kedua.-1 byte terima kasih kepada @Grimy .
Cobalah secara online atau verifikasi semua kasus uji .
Penjelasan:
sumber
3L
->∞
untuk -1.\x19\xd7\x30\x4b\x4a\x82\x80\x7b\xec\xcb
: Seharusnya dimungkinkan untuk menjalankan byte heksadesimal ini dengan--osabie
flag, tetapi saya tidak yakin bagaimana melakukannya dalam versi Elixir 05AB1E sepenuhnya jujur (tapi saya akan meminta beberapa orang lain untuk memverifikasi dan membalas Anda dengan jawabannya).JavaScript (ES6),
9274 byteMengambil input sebagai
(['gold','silver','bronze'])('rep')
. Mengembalikan nilai Boolean.Cobalah online!
JavaScript (ES6), 74 byte
Mengambil input sebagai
(gold, silver, bronze, 'rep')
. Mengembalikan nilai Boolean.Cobalah online!
sumber
MATL ,
28 byte20 byte16 byte13 byteMengembalikan 0 untuk false dan 1 untuk true. Ini pasti bisa diturunkan.
Turun ke 16 byte jika skor reputasi dapat diambil secara terpisah, dan urutannya adalah [perunggu, perak, emas], reputasiTurun hingga 13 byte berkat Luis Mendo
Cobalah online!
sumber
Ruby , 69 byte
Cobalah online!
sumber
J ,
383431 byteCobalah online!
sumber
Japt ,
141312 byteMengambil input sebagai
[rep, bronze, silver, gold]
Cobalah atau Verifikasi semua kasus uji
sumber
Å
itu tidak perlu, karenafn
akan menghilangkan nilai pertama. MenghapusÅ
membuatnya 12 byteRetina 0.8.2 , 45 byte
Cobalah online! Tautan termasuk test suite. Penjelasan:
Hapus skor nol.
Rentangkan skor emas dan perak, dan konversikan pemisah ke baris baru.
Urutkan reputasi dan skor yang diperluas secara terpisah.
Bandingkan digit yang diurutkan.
sumber
Jelly , 10 byte
Cobalah online!
Argumen 1:
[Bronze, Silver, Gold]
Argumen 2:
Rep
sumber
Racket,
14910798 byteCobalah online!
Pertama kali bermain golf di Racket, jadi masih mencari peningkatan ...
Penjelasan (dari versi asli yang lebih panjang, tetapi gagasan yang sama):
sumber
Arang , 24 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Mengambil input dalam urutan rep, perunggu, perak, emas, dan output
1
jika perwakilan tersebut valid. Penjelasan:Anggap perwakilan tersebut valid.
Ulangi empat nilai input. Dorong setiap digit setiap
i
kali nilai di manai
indeks nilai diindeks 0. Konversi basis numerik digunakan di sini sebagai konversi0
ke array kosong.Periksa jumlah setiap digit dalam array yang cocok dengan input pertama. Jika ada yang berbeda, bersihkan kanvas.
sumber
Jelly , 18 byte
Cobalah online!
ini agak buruk
sumber
Python 2 ,
80797768 byteCobalah online!
Mengambil input sebagai
rep, gold, silver, bronze
.sumber
Perl 5
-lF
, 62 byteCobalah online!
Mengambil input pada baris terpisah sebagai
sumber