এটি কি লাইপোগ্রাম?


52

লাইপোগ্রাম শব্দের একটি ব্লক যা কোনও নির্দিষ্ট চিহ্নকে বাদ দেয়। এই মুহুর্তে, আমি আমাদের 26 টির পঞ্চম প্রতীকটি এড়িয়ে চলেছি যা সাধারণত দেখা যায়। আমি কী বাদ দিচ্ছি তা এখনই আপনার জানা উচিত। যদি তা না হয় তবে "লিপোগ্রাম" সন্ধান করুন এবং আপনি জানতে পারবেন।

তোমার কাজ

ইনপুটে একটি চর, একটি ফাঁকা এবং নিম্নলিখিত স্ট্রিংয়ের সাথে (ফাঁকা অংশগুলি এটি প্রদর্শিত হতে পারে; কেবলমাত্র ASCII 32-126 অক্ষর সহ) এই আউটপুটটি ইনপুট স্ট্রিংয়ে থাকলে আউটপুট মিথ্যা বলে, সত্য না হলে। এই চরটি যা আপনার অবশ্যই সন্ধান করতে হবে তা সর্বদা দুটি স্প্যানে খাপ খায়: "এ" থেকে "জেড" বা "এ" থেকে "জেড" (এএসসিআইআই 65-90, 97-122)। রাজধানী এবং অ-রাজধানী আলাদা করবেন না। এছাড়াও, ফাঁকা বা বিরাম চিহ্নগুলির বিষয়ে চিন্তা করবেন না। উভয় প্রোগ্রাম এবং ফাংশন সন্তুষ্ট। এছাড়াও, আপনি প্রোগ্রাম বা ফাংশনগুলির জন্য ইনপুট চর এবং স্ট্রিংকে দুটি আরগে বিভক্ত করতে পারেন এবং প্রথম আর্গ হিসাবে স্ট্রিং ঠিক আছে।

কনটেন্ট কপিরাইট আইনে পূর্বানুমতি

Truthy

e This is a lipogram.
a You need to consider other letters too.
E Capitals also count.

Falsy

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.

নন-লিপোগ্র্যামড সংস্করণ

লাইপোগ্রাম শব্দের একটি সিরিজ যা একটি চিঠি বের করে। আমি উপরের "ই" অক্ষরটি ছেড়ে দিয়েছি।

আপনার কাজটি হ'ল একটি অক্ষর এবং একটি স্ট্রিং (যার মধ্যে স্পেস অন্তর্ভুক্ত থাকতে পারে) ইনপুট হিসাবে নেওয়া, একটি স্থান বা নিউলাইন দ্বারা পৃথক করা, এবং অক্ষরটি স্ট্রিংয়ে থাকলে আউটপুট মিথ্যা, এবং অন্যথায় সত্য সত্য। আপনি ধরে নিতে পারেন যে স্ট্রিংটি কেবল প্রিন্টযোগ্য এএসসিআইআই অক্ষর (চার্ট কোড 32-126) দ্বারা গঠিত। চরিত্রটি সর্বদা ইংরেজি বর্ণমালায় থাকবে এবং ছোট হাতের এবং বড় হাতের মধ্যে কোনও পার্থক্য নেই। চরিত্রটি কোনও স্থান বা প্রতীক হবে না। আপনি একটি প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। উভয়ের জন্য, আপনি অক্ষর এবং স্ট্রিংটিকে পৃথক যুক্তি হিসাবে গ্রহণ করতে পারেন এবং স্ট্রিংটি প্রথম দিকে আসতে পারে।


পূর্ণ প্রোগ্রামের জন্য আমি কি আলাদা লাইন হিসাবে ইনপুট নিতে পারি?
নীল

@ মুডিফিশ: হ্যাঁ
এল'েন্ডিয়া স্টারম্যান

... এবং প্রথম আর্গ হিসাবে স্ট্রিং ঠিক আছে।
edc65

@ এডসি 65: ওহ, আমি এটি আরও ভাল পছন্দ করি।
এল'েন্ডিয়া স্টারম্যান

1
আপনি চেষ্টা করা উচিত "এবং একটি স্ট্রিং আপনার প্রথম ARG ঠিক আছে।" বা অনুরূপ কনফিগারেশন।
mbomb007

উত্তর:



25

জাভাস্ক্রিপ্ট ES6 34 26 23 বাইট

x=>!/^(.).*\1/i.test(x)

ক্রেস্ট 8 বাইট ধন্যবাদ @ মার্টিনব্যাটনার


9
বাহ, আমি জানি না যে /iপ্রভাবিত \1!
নিল

18

05 এ বি 1 ই , 7 6 4 3 বাইট

কোড:

l`-

ব্যাখ্যা:

l     # Convert both elements to lowercase
 `    # Flatten the array
  -   # Loop over the second line of text and substract each char from the first character
        For example: "abcde""ba"- would result in "cde"

এটি অনলাইন চেষ্টা করুন!

সত্য চিঠিটি যখন বর্তমান চিঠিটি আউটপুট করা হয়। মিথ্যা হয় যখন কিছুই আউটপুট হয় না।


সুতরাং -কার্যকরভাবে একটি পরিপূরক অপারেশন না?
2012campion

@ ২০১২ সিআরসিপিয়ন হ্যাঁ, এটি সঠিক। তবে শুধুমাত্র যখন উভয় মান পূর্ণসংখ্যা হয় না।
আদনান

14

টিস্ক্রিপ্ট, 5 3 বাইট

AµN

আহা \ ও /! আমি অন্তর্নিহিত ইনপুট সম্পর্কে ভুলে গেছি! টিস্ক্রিপ্ট x.শুরুতে স্বয়ংক্রিয়ভাবে theোকানো হবে (ইনপুট)। আমি তখন এটির অন্যান্য ইনপুট (পরিবর্তনশীল µ) এবং তাই একটি (না) আছে কিনা তা পরীক্ষা করতে পারি N। আমি অনুমান করি যে এখানে টিস্ক্রিপ্টের সর্বোত্তম সুবিধাটি এর অন্তর্নিহিত ইনপুট

এটি অনলাইনে চেষ্টা করুন

ব্যাখ্যা

  A µ  N
x.A(y).N  // At compile time

x.A // input, has...
(y) // second input
N   // Logical NOT

কি দারুন. অনেকটা অন্তর্নির্মিত। এটি আমাকে স্মরণ করিয়ে দেয়, জাপটে একই বিল্ট-ইন রয়েছে ... আরও দুটি বাইট
ছাড়ে

12

বাশ, 16 11 বাইট

grep -iv $1

-iহ'ল কেস-সংবেদনশীল পতাকা, -vবিপরীতমুখী (অ-মিলের জন্য চেক)।

চরিত্রটি অবশ্যই কমান্ড লাইন আর্গুমেন্ট এবং STDIN- এ পরীক্ষার স্ট্রিং হিসাবে সরবরাহ করতে হবে।

@ ডিজিটালট্রামার সহায়তায় 5 বাইট হ্রাস পেয়েছে !

নমুনা রান:

llama@llama:~$ echo 'This is a lipogram' | ./lipogram.sh e
This is a lipogram.
llama@llama:~$ echo 'This sentence is not a lipogram (for e).' | ./lipogram.sh e

বাক্যটি কেন স্টাডিন থেকে পড়বেন না? grep -iv $1। আমি এসটিডিআইএন এবং কমান্ড-লাইন আরোগুলিকে ইনপুট পদ্ধতি হিসাবে মিশ্রিত করার ক্ষেত্রে কোনও ভুল দেখতে পাচ্ছি না - আমি এটি আগেও করেছি - তবে সম্ভবত কোনও মেটা নজির আমি মিস করেছি ...
ডিজিটাল ট্রমা

@ ডিজিটাল ট্রুমা আমি এটি বিবেচনা করেছি, তবে অনুভূত হয়েছে যে এটি কিছুটা স্কেচিযুক্ত হবে। মেটা নিয়ে সম্ভবত একটি বিষয় আলোচিত হবে।
ডুরকনব


@ ডেনিস ভাল খুঁজছেন!
ডিজিটাল ট্রমা

1
আমরা কি ^Dএই উত্তরটিতে আরও কোনও ব্যবহারকারীকে মন্তব্য করতে পারি ? @ ডাউনগোট - আপনি কি আছেন? ;-)
ডিজিটাল ট্রমা

12

জাপট, 12 6 4 বাইট

!VoU

এটি অনলাইন পরীক্ষা!

@ ডাওনগোটের টিস্ক্রিপ্টের উত্তরটি আমাকে মনে করিয়ে দিয়েছে যে জাপটের ঠিক একই বিল্ট-ইন রয়েছে, চূড়ান্ত দুটি বাইট কেটে দেয়।

কিভাবে এটা কাজ করে

       // Implicit: U = input char, V = input string
VoU    // Keep only the chars in V that are equal to U, ignoring case.
!      // Take logical NOT. Returns true if no matches were found, false otherwise.

@ সিও'বিʀɪᴇɴ একটি বিল্ট-ইন সম্পর্কে আমি ভুলে গিয়েছিলাম, এটি এখন আরও সংক্ষিপ্ত :)
ETH প্রোডাকশনগুলি

6
ওম খুব বেশি সংক্ষিপ্ত অপেক্ষা করুন না
কনর ওব্রায়েন


9

জাভাস্ক্রিপ্ট (ES6), 29 বাইট

(c,s)=>!RegExp(c,'i').test(s)

4
c=>s=>!RegExp(c,"i").test(s)বাইট সংরক্ষণ করে আপনি উত্তরটি কারি করতে পারেন ।
কনর ও'ব্রায়েন

c=>s=>!s.match(c,'i')21. :)
ETH প্রোডাকশন

@ ইথ প্রডাকশনগুলি matchকেবল একটি যুক্তি নেয়। দ্বিতীয় যুক্তি ফায়ারফক্স 39 বা তারপরে কনসোল সতর্কতা লগ করে এবং ফায়ারফক্স 47 এ মোটেই কাজ করবে না।
নিল

@ নীল আমি ফায়ারফক্স 44 ব্যবহার করছি এবং এটি পুরোপুরি ঠিকঠাক কাজ করছে বলে মনে হচ্ছে।
ETH প্রোডাকশন

@ এইচটি প্রডাকশন অবশ্যই, তবে এটি অন্যান্য ব্রাউজারগুলিতে কাজ করে তা বিশ্বাস করার আমার কোনও কারণ নেই এবং এটি শীঘ্রই ফায়ারফক্সে কাজ করাও বন্ধ করবে।
নিল

7

পাইথন 3, 36

কেস উপেক্ষা করা অবাক করা ব্যয়বহুল।

lambda a,b:a.lower()not in b.lower()

(চর, স্ট্রিং) হিসাবে আর্গুমেন্ট গ্রহণ করে



6

ও, 8 বাইট

{_.@_-=}

একটি অনামী ফাংশন যা একটি অক্ষর এবং একটি স্ট্রিং নেয়।

এটি অনলাইনে চেষ্টা করুন।

ব্যাখ্যা

{_.@_-=}

{      }
 _        Lowercase string
  .       Duplicate
   @      Rotate stack
    _     Lowercase character
     -    Remove all instances of the character
      =   Compare to original

এটি কেন একটি ফাংশন হতে হবে? কেন শুধু এটি একটি প্রোগ্রাম হতে পারে না?
ফেজ

@ ফেজ আমি বুঝতে পারছিলাম না কী চর বিভক্ত হয়েছিল। যে কোনও হারে, আমি নিশ্চিত যে এটি যাইহোক কোনও ফাংশন হিসাবে খাটো।
একটি স্প্যাগেটো

6

পার্ল, 11 + 1 = 12 বাইট

$_=lc!~lc<>

-pস্যুইচ প্রয়োজন এবং হিসাবে ইনপুট লাগে$string\n$letter

$ perl -pe'$_=lc!~lc<>' <<< $'this is a lipogram\ne'
1

কিভাবে এটা কাজ করে:

            # -p auto reads input into $_ and auto prints at the end
   lc       # lowercase $_
     !~     # Check against regex
       lc<> # Read next line and lowercase it. '=~' will expect the rValue to be
            # a regex and therefore the result from 'lc<>' will be treated as such
$_=         # Assign result ('1' or '') to $_ which will be printed

আপনার শেলটি নির্দিষ্ট করা উচিত। আমার জন্য উবুন্টুতে বাশ করুন, আপনি যে টেমপ্লেটটি দিয়েছিলেন তা অনুসরণ করে এটি 1 ইনপুটটি প্রিন্ট করে। (কেন জানি না, তবে, আমি এর সাথে অপরিচিত <<<)) (এবং সাধারণ এসটিডিন (না <<<) ব্যবহার করে , আমি চিঠিটি স্ট্রিংয়ের শেষ চরিত্র না হওয়া পর্যন্ত 1 পেয়েছি, কারণ আপনি চিঠিটি চিপ করেন না ।)
এমএস 210

@ msh210 আপনি printf "this is a lipogram\ne\n" | perl -pe'$_=lc!~lc<>'পরিবর্তে ব্যবহার করতে পারেন । <<< বাশ সিনট্যাক্স।
andlrc

@ এমএস 210 স্টিডিন <<<পাস করার আরও একটি উপায়।
andlrc

5

জাভা, 63 বাইট।

boolean f(String s,char c){return!s.matches("(?i:.*"+c+".*)");}

আপনি একটি ল্যাম্বডা এক্সপ্রেশনও লিখতে পারেন (s,c)->!s.matches("(?i:.*"+c+".*)")যা সংক্ষিপ্ত
RAnders00

1
এটা একটা সঠিক পদ্ধতি যদিও হবে না, আপনি দিতে হবে Stringএবং charকোথাও।
shooqie



5

জুলিয়া 0.3, 22 20 বাইট

c%s=c&95∉[s...]&95

uppercaseএকটি দীর্ঘ শব্দ।

কিভাবে এটা কাজ করে

c%s=c&95∉[s...]&95

c%s=                Redefine the binary operator % so it takes a character c and
                    a string s and...
     c&95                Compute lo bitwise AND of c and 95.
                         This casts the character c to uppercase.
          [s...]         Yield the list of the characters of the string s.
                &95      Compute lo bitwise AND of each chararacter and 95.
                         This casts the characters of s to uppercase.
         ∉               Return a Boolean, signaling non-membership.

4

রেটিনা, 11

iA`^(.).*\1

আমি নিশ্চিত নই যে রেটিনার ক্ষেত্রে সত্যবাদী / মিথ্যা হিসাবে গণ্য, এটি প্রদত্ত চরিত্রের লিপোগ্রাম হলে এটি লাইনটি প্রতিধ্বনিত করবে এবং যদি তা না হয় তবে খালি স্ট্রিংটি ফিরে আসবে।

এটি মাল্টলাইন ইনপুটটির জন্যও কাজ করবে।

এটি অনলাইন চেষ্টা করুন!


একটি খালি স্ট্রিং মিথ্যা, যাতে গণনা করা হয়।
এল'েন্ডিয়া স্টারম্যান



4

জেলি, 8 বাইট

ḢO^O&95P

এটি অনলাইন চেষ্টা করুন!

কিভাবে এটা কাজ করে

ḢO^O&95P  Main link. Input: S (string)

Ḣ         Pop the first character of S.
 O        Ordinal; compute its code point.
  ^O      XOR it with the code points of the remaining characters.
    &95   AND each result with 95.
       P  Take the product of the results.

অপেক্ষা করুন, জেলি জিতছে না? এটি আরও নিচে গল্ফ করার উপায় আছে!
জেনেরিক ব্যবহারকারী

স্ট্রিংগুলি জড়িত থাকার সময় নয় ...
ডেনিস

এটি অবশ্যই সংশোধন করতে হবে।
ক্যালকুলেটরলাইন



4

পাইথন, 34 বাইট

lambda c,s:c not in s+s.swapcase()

অক্ষরের জন্য চেক cস্ট্রিং হচ্ছে s, একটি কেস-আনা কপি সংযোজন করে যদি উপেক্ষা sকরাs । প্রত্যাখ্যান করা হয়েছে not, যা দীর্ঘ দেখায় তবে আমি এর চেয়ে ভাল দেখতে পাচ্ছি না। এটি একই দৈর্ঘ্য:

lambda c,s:(c in s+s.swapcase())<1

আপনি পেরেনগুলি বাদ দিতে পারবেন না অন্যথায় পাইথন শৃঙ্খলাবদ্ধ তিনটি মানের বৈষম্য হিসাবে অভিব্যক্তিটিকে বাধা দেবে _ in _ < _

পাইথন 3.5-তে 33 টি বাইট সেট রুপান্তরগুলির মাধ্যমে অনুমতি দেওয়া উচিত, যদিও আমি এখন এটি পরীক্ষা করতে পারি না।

lambda c,s:{*c}-{*s+s.swapcase()}

4

পাইকে, 7 বাইট

Dl3+R{!

ব্যাখ্যা:

D       -     eval_or_not(input()).lower()
 l3     -    ^.swapcase()
   +    -   ^+^
    R   -  rotate 2
     {  -  ^ in ^
      ! - not ^

3

জাভাস্ক্রিপ্ট ES6, 41 40 বাইট

x=>!~x.slice(2).search(RegExp(x[0],"i"))

আর্গুমেন্ট হিসাবে পুরো স্ট্রিং নেয়। আমি দুটি পৃথক যুক্তি গ্রহণ করে বাইট সংরক্ষণ করতে পারি না কারণ তখন আমার উত্তরটি অন্য ES6 উত্তরে গলে যাবে :(


আমি এবার জিতেছি, ES6। ;) আপনার বেনামে ফাংশন সিনট্যাক্স আমার সাথে কোনও মিল নেই not in
মরগান থ্রাপ

@ মরগানথ্রাপ গাহ, আবার বানচাল!
কনর ও'ব্রায়েন

ঠিক আছে আমি এটি পেয়েছি , আপনি @ মরগানথ্র্যাপ সরান।
শান এইচ

3

আর, 26 বাইট

 function(x,y)!grepl(y,x,T)

এক্স স্ট্রিং, y হরফ, জিআরপিএলে কলটিতে টি এটি কে সংবেদনশীল করে তোলে।



2

রুবি, 17 বাইট

->c,s{/#{c}/i!~s}
->c,s{  # lambda with two arguments
/#{c}/  # turn the input character into a regexp w/ interpolation
i       # case insensitive
!~      # does not match
s       # input string
}

2

ব্যাচ, 53 বাইট

@set s=%2
@call set t=%%s:%1=%%
@if %s%==%t% echo 1

দুটি কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট গ্রহণ করে। (প্রয়োজনে দ্বিতীয় তর্কটি উদ্ধৃত করুন।) সাফল্যের 1 আউটপুট, প্রথম যুক্তিটি (সংবেদনশীলভাবে) দ্বিতীয়টিতে পাওয়া গেলে কিছুই নয়।


2

গণিত, 33 32 বাইট

StringFreeQ[##,IgnoreCase->1>0]&

## যখন ব্যবহার করা যায় তখন আমি এটি পছন্দ করি। ইনপুটটি স্ট্রিং, তারপরে চর।

বা, একটি কেস সংবেদনশীল সংস্করণ: (11 বাইট :)

StringFreeQ

হ্যাঁ, একটি বিল্টিন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.