Lipogram adalah blok kata yang menghilangkan simbol tertentu. Saat ini, aku sedang menghindari simbol kelima kami dari 26 yang biasanya muncul. Anda harus tahu sekarang apa yang saya hilangkan. Jika tidak, cari "lipogram" dan Anda akan tahu.
Tugas Anda
Dengan char, blank, dan string berikut (blank dapat muncul di ini; dengan hanya ASCII 32-126 karakter) dalam input, output falsy jika char ini dalam string input, jujur jika tidak. Karakter yang harus Anda cari ini akan selalu muat dalam dua rentang: "A" ke "Z" atau "a" ke "z" (ASCII 65-90, 97-122). Jangan membedakan modal dan non-kapital. Juga, jangan khawatir tentang simbol kosong atau tanda baca. Baik program maupun fungsinya memuaskan. Anda juga dapat membagi karakter dan string input menjadi dua arg untuk program atau fungsi, dan string sebagai argumen pertama tidak masalah.
Ilustrasi
Sejujurnya
e This is a lipogram.
a You need to consider other letters too.
E Capitals also count.
Palsu
e This sentence is not a lipogram (for e).
t This particular letter is surprisingly hard.
A You don't need to care about any non-alphabetic symbols.
Versi non-lipogram
Lipogram adalah serangkaian kata yang meninggalkan surat. Saya meninggalkan huruf "e" di atas.
Tugas Anda adalah mengambil karakter dan string (yang mungkin termasuk spasi) sebagai input, dipisahkan oleh spasi atau baris baru, dan menghasilkan falsy jika karakter berada di string, dan sebaliknya benar. Anda dapat mengasumsikan string hanya terdiri dari karakter ASCII yang dapat dicetak (kode char 32-126). Karakter akan selalu dalam alfabet bahasa Inggris, dan tidak ada perbedaan antara huruf kecil dan huruf besar. Karakter tidak akan menjadi spasi atau simbol. Anda dapat menulis program atau fungsi. Untuk salah satu, Anda dapat mengambil karakter dan string sebagai argumen terpisah, dan string dapat didahulukan.
sumber
Jawaban:
C, 42 byte
sumber
Javascript ES6
342623 Bytesdicukur 8 byte, terima kasih @ MartinBüttner
sumber
/i
terpengaruh\1
!05AB1E ,
7643 byteKode:
Penjelasan:
Cobalah online!
Kebenaran adalah ketika surat saat ini dikeluarkan. Falsy adalah ketika tidak ada output.
sumber
-
efektifnya operasi pelengkap ?TeaScript,
53 byteAha \ o /! Saya lupa tentang input implisit! TeaScript akan secara otomatis memasukkan
x.
(input) di awal. Saya kemudian dapat memeriksa apakah memiliki input lain (dalam variabelµ
) dan jadi TIDAK (N
). Saya kira keuntungan terbaik TeaScript di sini adalah inputnya yang implisitCobalah online
Penjelasan
sumber
Bash,
1611 byte-i
adalah tanda case-insensitive,-v
inverts (memeriksa ketidakcocokan).Karakter harus disediakan sebagai argumen baris perintah, dan string uji pada STDIN.
Dikurangi 5 byte dengan bantuan @ DigitalTrauma !
Sampel berjalan:
sumber
grep -iv $1
. Saya tidak melihat ada yang salah dengan mencampurkan STDIN dan baris perintah sebagai metode input - saya pernah melakukannya sebelumnya - tetapi mungkin ada preseden meta yang saya lewatkan ...^D
pengguna untuk mengomentari jawaban ini? @Downgoat - apakah Anda di sana? ;-)Japt,
1264 byteUji secara online!
Jawaban TeaScript @ Downgoat mengingatkan saya bahwa Japt memiliki built-in yang persis sama, memotong dua byte terakhir.
Bagaimana itu bekerja
sumber
CJam, 6 byte
Cobalah online! lel
Penjelasan
sumber
JavaScript (ES6), 29 byte
sumber
c=>s=>!RegExp(c,"i").test(s)
, menghemat satu byte.c=>s=>!s.match(c,'i')
adalah 21. :)match
hanya membutuhkan satu argumen. Argumen kedua mencatat peringatan konsol di Firefox 39 atau lebih baru, dan tidak akan berfungsi di Firefox 47 sama sekali.Python 3, 36
Mengabaikan case sangat mahal.
Mengambil argumen sebagai (char, string)
sumber
Pyth,
87 bytePenjelasan
Terima kasih @FryAmTheEggman untuk memberitahu saya dapat saya gunakan
-
bukan!}
Coba di sini
sumber
O, 8 byte
Fungsi anonim yang mengambil karakter dan string.
Cobalah online.
Penjelasan
sumber
Perl, 11 + 1 = 12 byte
Membutuhkan
-p
sakelar dan menerima input sebagai$string\n$letter
Bagaimana itu bekerja:
sumber
<<<
.) (Dan menggunakan STDIN normal (tidak<<<
), saya mendapatkan 1 kecuali hurufnya adalah karakter terakhir dalam string, karena Anda tidak chomp surat itu .)printf "this is a lipogram\ne\n" | perl -pe'$_=lc!~lc<>'
.<<<
adalah sintaks bash.<<<
hanyalah cara lain untuk lulus stdin.Java, 63 byte.
sumber
(s,c)->!s.matches("(?i:.*"+c+".*)")
yang lebih pendekString
dan dichar
suatu tempat.MATL , 5 byte
Cobalah online!
sumber
Serius, 6 byte
Cobalah online!
Mengambil input sebagai
'string'\n'char'
Penjelasan:
sumber
,ù,ùìuY
pekerjaan? (Seharusnya saya yang melakukan indexOf tapi saya tidak ingat yang mana yang melakukan itu)Julia 0,3,
2220 byteuppercase
adalah kata yang panjang .Bagaimana itu bekerja
sumber
Retina, 11
Saya tidak yakin apa yang dianggap sebagai kebenaran / kepalsuan di Retina, ini akan menggemakan garis jika itu adalah lipogram untuk karakter yang diberikan, dan itu akan mengembalikan string kosong jika tidak.
Ini juga akan berfungsi untuk input multiline.
Cobalah online!
sumber
Minkolang 0,15 , 10 byte
Coba di sini.
Penjelasan
sumber
Karat, 75 byte
Skor terbesar berarti saya menang, bukan? > _ <
Coba di sini.
sumber
Jelly, 8 byte
Cobalah online!
Bagaimana itu bekerja
sumber
CJam, 10 byte
Fungsi anonim (blok) yang mengambil karakter (bukan string!) Dan string.
Cobalah online.
Penjelasan
sumber
PowerShell,
3632302925 byteMenggunakan
-notmatch
operator , dan cukup mengeluarkanTrue
atauFalse
.sumber
Python, 34 byte
Memeriksa karakter
c
dalam strings
, mengabaikan case dengan menambahkan salinan case-swappeds
kes
. Negasi dilakukan dengannot
, yang terlihat panjang tapi saya tidak melihat lebih baik. Panjangnya sama:Anda tidak bisa menghilangkan parens atau Python akan mengintip ekspresi sebagai ketidaksetaraan bentuk tiga nilai berantai
_ in _ < _
.Python 3.5 seharusnya mengizinkan 33 byte melalui konversi yang ditetapkan, meskipun saya tidak bisa mengujinya sekarang.
sumber
Pyke, 7 byte
Penjelasan:
sumber
JavaScript ES6,
4140 byteMengambil seluruh string sebagai argumen. Saya tidak bisa menyimpan byte dengan menerima dua argumen berbeda karena jawaban saya akan melebur ke jawaban ES6 lainnya :(
sumber
not in
.R, 26 byte
x adalah string, y adalah hurufnya, T dalam panggilan untuk grepl membuatnya tidak sensitif huruf.
sumber
Jolf,
67 byteBegitu. Banyak. Sixes. SMS? Yah, coba saja di sini . Ganti
⌂
dengan\x7f
.sumber
Ruby, 17 byte
sumber
Batch, 53 byte
Menerima input sebagai dua argumen baris perintah. (Kutip argumen kedua jika perlu). Output 1 pada kesuksesan, tidak ada jika argumen pertama (tidak sensitif) ditemukan pada argumen kedua.
sumber
Mathematica,
3332 byteSaya suka kalau ## bisa digunakan. Input adalah string, lalu char.
Atau, versi case sensitif: (11 byte :)
Ya, hanya builtin.
sumber