সংলগ্ন লেটার টেস্ট


12

পাসওয়ার্ড শক্তি পরীক্ষার একটি দিক হ'ল কীবোর্ডে সংলগ্ন চিঠিগুলি। এই চ্যালেঞ্জে, একটি প্রোগ্রাম অবশ্যই তৈরি করতে হবে যা trueযদি স্ট্রিংটিতে সংলগ্ন অক্ষরের কোনও রান থাকে returns

সংলগ্ন বর্ণগুলির রান হিসাবে কী গণনা করা হয়?

পাসওয়ার্ড শক্তি পরীক্ষকের এই সরল সংস্করণটির জন্য, সংলগ্ন অক্ষরের একটি রান 3 বা ততোধিক অক্ষর যা QWERTY কীবোর্ডের একক দিকের (বাম, ডান, উপরে বা নীচে) একে অপরের পাশে থাকে। এই চ্যালেঞ্জের উদ্দেশ্যে কীবোর্ডের লেআউটটি দেখতে এমন দেখাচ্ছে:

1234567890
QWERTYUIOP
ASDFGHJKL
ZXCVBNM

উপরের চিত্রটিতে Qনীচে 1তবে নীচে নয় 2, সুতরাং এর মধ্যে 1qaবা এর aq1ভিতরে যে কোনও স্ট্রিং রয়েছে যা প্রোগ্রামটি ফিরিয়ে আনবে true, তবে 2qaতা করবে না।

ইনপুট

পাসওয়ার্ড স্ট্রিং চেক করতে। এটিতে কেবল অক্ষর [0-9a-z]বা [0-9A-Z](আপনার পছন্দ) থাকবে।

আউটপুট

পাসওয়ার্ডে সংলগ্ন কীগুলির এক বা একাধিক রান রয়েছে বা যদি এটিতে না থাকে তবে মিথ্যা যদি প্রোগ্রামটি অবশ্যই সত্যবাদী মান ফেরত দেয়।

উদাহরণ

নিম্নলিখিত ইনপুটগুলি সত্য আউটপুট করা উচিত:

  • asd
  • ytrewq
  • ju7
  • abc6yhdef

এবং এই ইনপুটগুলি ভুল আউটপুট করা উচিত:

  • abc
  • aaa
  • qewretry
  • zse
  • qwdfbn
  • pas

বিধি

  • উত্তরগুলি সম্পূর্ণ প্রোগ্রাম বা ফাংশন হতে পারে।
  • স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।
  • এটি , সর্বনিম্ন স্কোর (বাইটে) জয়!

উত্তর:


3

পাইথ - 66 62 60 বাইট

খুব সোজা পদ্ধতি। 3 সাবস্ক্রিনিং 3 টি লেন 3 কিবোর্ডের যে কোনও ঘূর্ণায় আছে কিনা তা পরীক্ষা করে। কীবোর্ডের জন্য বেস এনকোডিং ব্যবহার করা হবে।

.E}Rjb+J+Kc+jkS9"0
qwertyuiop
asdfghjkl
zxcvbnm"b.tKN_MJ.:z3

টেস্ট স্যুট


@ ব্যবহারকারী 81655 স্থির হয়েছে এবং দুটি বাইট সংরক্ষণ করেছে।
মালটিসেন

2

জাপট , 78 বাইট

Japt একটি সংক্ষিপ্ত সংস্করণ জা vaScri পর্তুগীজ ভাষায়অনুবাদক

V=1oA ¬+`0\nqØÆyuiop\n?dfghjkl \nzxcvbnm`;1+¡Y©(((VbX -VbUgY-1)-5 a -5 %A a)bB

0মিথ্যা মামলার ফলাফল ; অন্যথায়, একটি ধনাত্মক পূর্ণসংখ্যা। ?অমুদ্রণীয় ইউনিকোড গৃহস্থালির কাজ U + এ 0086 দিয়ে প্রতিস্থাপিত করা উচিত, অথবা আপনি যে সব কষ্ট যেতে, শুধু না চান তাহলে as

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

V=1oA q +"0\nqwertyuiop\nasdfghjkl \nzxcvbnm";1+Um@Y&&(((VbX -VbUgY-1)-5 a -5 %A a)bB
           // Implicit: U = input string
V=1oA q    // Set variable V to the digits 1-9, plus
+"...";    // this string.
Um@        // Take U and map each character X and its index Y with this function:
Y&&        //  If Y is 0, return Y; otherwise,
VbX -      //  take the index of X in V, subtract
VbUgY-1    //  the index of (char at position Y - 1 in U) in V,
-5 a -5    //  subtract 5, take the absolute value, subtract 5 again,
%A a       //  take modulo by 10, then take the absolute value.
           //  This returns 1 for any pair of characters that is adjacent
           //  within V, horizontally or vertically.
bB +1      // Take the index of 11 in the result and add one.
           // Implicit: output last expression

2

সি #, 227

int h(string k){var q="1234567890,QWERTYUIOP,ASDFGHJKL,ZXCVBNM,1QAZ,2WSX,3EDC,4RFV,5TGB,6YHN,7UJM,8IK,9OL,";int i=0,j=0;for(;i<k.Length-2;i++)if((q+String.Concat(Enumerable.Reverse(q))).Contains(k.Substring(i,3)))j=1;return j;}

0 টি মিথ্যা, 1 সত্যবাদী। সমস্ত কীগুলি অনুভূমিক এবং উল্লম্ব, এবং বিপরীতমুখী করে এবং ইনপুটটির 3 টি অক্ষরের মধ্যে কোনও অন্তর্ভুক্ত রয়েছে কিনা তা পরীক্ষা করে।

সি # সত্যিই ভার্জোজ, অন্য ভাষায় ডুব দিতে হবে :(



0

ক্লোজার, 156 বাইট

#(some(set(for[R[["1234567890""QWERTYUIOP""ASDFGHJKL.""ZXCVBNM..."]]R[R(apply map list R)]r R p(partition 3 1 r)p((juxt seq reverse)p)]p))(partition 3 1 %))

এটি কার্যকর করা বেশ আকর্ষণীয় কাজ ছিল।

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