Berasal dari pos ini , sekarang dihapus,.
Diberikan string, jawab (kebenaran / kepalsuan atau dua nilai yang konsisten) jika itu merupakan kata sandi Uskup yang baik, yaitu saat semua persyaratan berikut dipenuhi:
ini memiliki setidaknya 10 karakter
memiliki setidaknya 3 digit (
[0-9]
)itu bukan palindrome (identik dengan dirinya sendiri ketika terbalik)
Anda mendapatkan bonus 0 byte jika kode Anda adalah kata sandi Bishop yang baik.
Peringatan: Do tidak menggunakan Uskup kebaikan sebagai ukuran kekuatan password yang sebenarnya!
Contohnya
Kata sandi Uskup yang bagus
PPCG123GCPP
PPCG123PPCG
PPCG123gcpp
0123456789
Tr0ub4dor&3
Kata sandi Bishop Tidak Baik
PPCG123
(terlalu pendek)
correct horse battery staple
(tidak cukup digit)
PPCG121GCPP
(palindrome)
(terlalu pendek dan tidak cukup digit)
abc121cba
(terlalu pendek dan palindrome)
aaaaaaaaaaaa
(palindrom dan tidak cukup digit)
abc99cba
(semuanya salah)
Jawaban:
Python 2 ,
61595451 byteCobalah online!
-5 byte, terima kasih kepada Erik the Outgolfer
-3 byte, terima kasih kepada xnor
sumber
s[:9]<s
, yang menggabungkan dengan baik dengan pemeriksaan non-palindrome:s[:9]<s!=s[::-1]
05AB1E , 12 byte
Cobalah secara online atau verifikasi semua kasus uji .
Penjelasan:
sumber
Japt ,
1714 byte-3 byte disusun ulang oleh @Shaggy
Cobalah online!
Japt , 15 byte (Bonus 0 Bytes: v)
Cobalah online!
sumber
R ,
8070626463 byteCobalah online!
Dari digEmAll, dan beberapa mengatur ulang juga
Cobalah online!
Cukup mudah, tidak ada trik nyata yang luar biasa di sini. Setelah pengguna memasukkan string:
sumber
!all(s==rev(s))
denganany(s!=rev(s))
yang akan menghemat satu byte. Saya merasa seperti pengecekan panjang dapat dikurangi juga, tetapi tidak yakin bagaimana (salah satunchar
atau beberapa jenissum(x|1)
peretasan)any(s>rev(s))
akan berfungsi --- jika sebuah karakter kurang dari rekan palindromiknya, maka di ujung lain kata sandi yang sebaliknya akan benar. Itu menghemat byte lain.>2
APL + WIN,
36, 3029 byte7 byte disimpan berkat Adám
Indeks asal = 0
Anjuran untuk input string
Cobalah online! Atas perkenan Dyalog Classic
Penjelasan:
Kode ini juga memenuhi syarat untuk bonus karena merupakan kata sandi Uskup yang baik.
sumber
≢
yang~
...≡
? Dan bahkan jika tidak, Anda dapat bergabung×~
ke>
Brachylog ,
1812 byteTerima kasih atas tipsnya, Kroppeb dan Fatalkan !
Cobalah online!
Penjelasan
Program ini merupakan predikat tunggal, terdiri dari dua bagian yang dirantai
&
.Pertama:
Kedua:
sumber
{∋.∈Ị∧}ᶜ
dapat{∋ị}ᶜ
¬↔?l>9&ịˢl>2
ị
, tetapi masuk akal bahwa itu akan berhasil jika karakter adalah angka. Terima kasih!?
seperti itu rapi. Terima kasih!Jelly , 12 byte
Cobalah online!
[]
jika tidak cukup digit (daftar kosong, falsy),0
jika dinyatakan buruk (nol, falsy),1
jika baik (bukan nol, benar).sumber
Java 8, 92 byte
Cobalah online.
Penjelasan:
sumber
JavaScript,
605646 byteMengambil input sebagai array karakter. Keluaran
1
untuk kebenaran dan0
falsey.Cobalah secara Online!
Disimpan 10 byte (!) Berkat Arnauld .
sumber
Racket , 122 byte
Cobalah online!
sumber
APL (Dyalog Unicode) , 25 byte SBCS
Cobalah online!
sumber
(9<≢)∧(3≤1⊥∊∘⎕D)∧⊢≢⌽
dan kemudian simpan satu byte lagi dengan mengatur ulang untuk menghindari parens:(9<≢)∧≢∘⌽⍨∧3≤1⊥∊∘⎕D
Beri tahu mereka jika Anda perlu penjelasan tentang langkah-langkah ini.Perl 5
-p
, 33 byteTIO
sumber
Bersih , 66 byte
Cobalah online!
s<>reverse s
:s
bukan palindromes%%(0,8)<s
: 9 karakter pertamas
kurang dari semuas
sum[1\\c<-s|isDigit c]>2
:s
memiliki lebih dari dua digitsumber
Retina 0.8.2 , 40 byte
Cobalah online! Tautan termasuk kasus uji. Penjelasan:
Memeriksa setidaknya 10 karakter.
Cek minimal 3 digit.
Hapus karakter pertama dan terakhir jika cocok.
Jika setidaknya ada 2 karakter maka itu bukan palindrome.
Grup penyeimbang .NET berarti bahwa ini dapat dilakukan dalam ekspresi reguler tunggal, tetapi itu membutuhkan 47 byte:
Cobalah online! Tautan termasuk kasus uji.
sumber
Merah ,
117111 byteCobalah online!
sumber
Python 3 ,
747264 byteTerima kasih Neil A. untuk -2 byte!
Terima kasih Jo King untuk -8 byte!
Penjelasan:
Cobalah online!
sumber
Perl 6 , 32 byte
Cobalah online!
Blok kode anonim yang hanya menegakkan bahwa semua aturan dipatuhi.
Penjelasan:
sumber
K (oK) ,
3128 byte-3 byte terima kasih kepada ngn!
Cobalah online!
sumber
+//
(sum sampai konvergensi) bukan+/+/
(sum sum)x^x^y
untuk menemukan persimpangan antara dua daftar:#x^x^,/!10
. ini dapat disingkat menjadi#x^x^/!10
(^
adalah "tanpa",x^/
... adalah^
-pengurangan dengan nilai awalx
)>
(atau<
) dapat digunakan sebagai "dan tidak":{(x~|x)<(2<#x^x^/$!10)*9<#x}
JavaScript (Node.js) , 70 byte
Cobalah online!
Mengembalikan 1 untuk true dan 0 untuk false
sumber
C # (Visual C # Interactive Compiler) , 67 byte
Cobalah online!
sumber
Pip , 19 byte
Cobalah online!(semua kasus uji)
Penjelasan
Dengan
a
menjadi argumen baris perintah pertama:sumber
Stax , 14 byte
Jalankan dan debug itu
sumber
Pyth, 17 byte
Coba online di sini , atau verifikasi semua uji sekaligus di sini .
sumber
Groovy, (47 bytes)
(Penyertaan bonus dibiarkan sebagai latihan untuk pembaca)
sumber