টাইপিং, তবে বাম দিকে [বন্ধ]


14

পটভূমি

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

ভাগ্যক্রমে আপনার জন্য, আপনি নিজের কীবোর্ডটি না দেখে টাইপ করতে পারেন। সভার পরে, আপনি বুঝতে পারবেন যে আপনি টাইপ করা সমস্ত কিছু বাম দিকে একটি কী ছিল।

চ্যালেঞ্জ

এই চ্যালেঞ্জের জন্য আপনি QWERTY কীবোর্ড বিন্যাসের অক্ষর, সংখ্যা এবং স্পেস বারটি ব্যবহার করবেন।

  • পাঠ্যের একটি ইনপুট দেওয়া হয়েছে (যে কোনও স্ট্যান্ডার্ড ইনপুট পদ্ধতি থেকে), ফলাফলটি পাঠ্য আউটপুট করুন, যেখানে প্রতিটি অক্ষর কীবোর্ডের বাম দিকে সরানো হয়।

    • সংখ্যাগরিষ্ঠ অক্ষরের জন্য, কেবল অক্ষরটি দেখুন এবং এটি বামে বর্ণে অনুবাদ করুন ( cহয়ে যায় x, tহয়ে যায় rইত্যাদি)।

    • চিঠির জন্য q, একটি আক্ষরিক ট্যাব চরিত্রটি অনুবাদ করুন ( \t)।

    • চিঠির জন্য a, ক্যাপস লক সক্ষম করুন, যাতে বাকী স্ট্রিংয়ের মূলধনটি বিপরীত হয়।

    • চিঠির জন্য z, পরবর্তী অক্ষরে স্ট্রিংকে মূলধন করুন।

    • স্পেস বারের জন্য কোনও অনুবাদের প্রয়োজন নেই।

  • অনুবাদ করার সময় মূলধন সংরক্ষণ করুন এবং ক্যাপস লকটি সম্পর্কে সচেতন থাকুন (যদি ক্যাপস লক সক্ষম থাকে তবে নিশ্চিত হয়ে নিন যে কেসটি তার বিপরীত)।

  • ইনপুট স্ট্রিংয়ের সমস্ত অক্ষর হ'ল অক্ষর, সংখ্যা বা একটি স্থান হবে। কোনও বিরামচিহ্ন বা অন্যান্য অক্ষর অন্তর্ভুক্ত করা যাবে না।

পরীক্ষার কেস

\t একটি আক্ষরিক ট্যাব অক্ষর

Hello world    -> Gwkki qieks
Code Golf      -> Xisw Fikd
Queried apples -> \tyweuws OOKWA

স্কোরিং

বাইট জিতে সর্বনিম্ন স্কোর। আনন্দ কর!


11
QWERTY কীবোর্ডের প্রাসঙ্গিক সারিগুলির একটি দ্রুত রেফারেন্স কার্যকর হবে এবং চ্যালেঞ্জটি স্ব-অন্তর্ভুক্ত রাখবেন
জো কিং

4
তাদের আগে যদি কোনও "জেড" থাকে তবে সংখ্যাগুলি কি বিরামচিহ্নগুলিতে স্থানান্তরিত হবে?
এরিকএফ

10
তবে জেড শিফট এর সাথে মিল রাখে ...?
নিরবিচ্ছিন্ন স্ট্রিং

4
প্রস্তাবিত পরীক্ষার কেস: Azerty->wERT
জিটস

5
চিঠির জন্য z, পরবর্তী অক্ষরে স্ট্রিংটি মূলধন করুন -> এর অর্থ কি আমাদের কেবল বর্ণের মূলধনটির যত্ন নিতে হবে এবং অঙ্ক এবং চিহ্নগুলির মধ্যে টগল করতে হবে না? জন্য প্রত্যাশিত আউটপুট কী 0123456789, a0123456789এবং z0z1z2z3z4z5z6z7z8z9? (এছাড়াও, অনেকগুলি অ-কিওয়ার্টি কীবোর্ডে, 'ক্যাপস লক' সত্যই একটি 'শিফট লক' হিসাবে কাজ করে I আমি বিশ্বাস করি যে QWERTY এই প্যাটার্নটি অনুসরণ করে না, তবে এটি আমাদের মধ্যে যারা এটির সাথে পরিচিত না তাদের জন্য নির্দিষ্ট করা উচিত। )
আর্নল্ড

উত্তর:


11

জাভাস্ক্রিপ্ট (ভি 8) , 271 বাইট

f=(s,k='~!@#$%^&*()_+`1234567890-=\tQWERTYUIOP{}|\tqwertyuiop[]\\ASDFGHJKL:"\n\\asdfghjkl;\'ZXCVBNM<>?zxcvbnm,./')=>s.replace(/[^ ]/g,c=>k[k.indexOf(c)-1]).replace(/\\([^\\]*)\\?/g,(m,c)=>c.replace(/[a-zA-z]/g,l=>l>'Z'?l.toUpperCase():l.toLowerCase())).replace(/[?']/,"")

এটি অনলাইন চেষ্টা করুন! আমার প্রথম জাভাস্ক্রিপ্ট কোড গল্ফ। এটি অবশ্যই খাটো হতে পারে তবে আমি মনে করি এটি একটি ভাল শুরু।
এটি মূলত প্রতিটি চরিত্রটিকে kস্ট্রিংয়ের সন্ধান করে এবং এটি পূর্বের একটিটির সাথে প্রতিস্থাপন করে, Aবা এর মধ্যে থাকা aসমস্ত কিসের কেসকে অদলবদল করে এবং এর সমস্ত উপস্থিতি সরিয়ে দেয় Zবা z(শিফট কীটি নিজে থেকে কিছুই করে না)।
এটি একটি সাধারণ QWERTY কীবোর্ড লেআউট হওয়া উচিত, তবে তা না থাকলে আমাকে জানান।


আপনার নিজের টিআইও লিঙ্কে, zebras=>wveAপরীক্ষার কেসটি ভুল বলে মনে হচ্ছে। প্রথমটির zফলে eবড় হাতের মুদ্রণ করা উচিত w। ও.পি থেকে: "চিঠির জন্য z, পরবর্তী অক্ষরটিকে স্ট্রিংয়ে বড় করুন" "
রাত 2

@ নাইট 2 চিয়ার্স, আমি ওপি স্পষ্টতা দেওয়ার আগে পোস্ট করেছি। আমি ধরে নিয়েছি শিফট কী একবার চাপলে কিছুই হবে না।
ম্যাথু জেনসেন

5

পাইথন 3 , 211 বাইট

d=' ~!@#$%^&*()`~1!2@3#4$5%6^7&8*9(0)		qQwWeErRtTyYuUiIoOpPaAsSdDfFgGhHjJkKlLzZxXcCvVbBnNmM  '
c=s=0
for i in input():k=d.find(i);print(end=d[k-2+(c*i.isalpha()^s)*(1-k%2*2)][i in'aAzZ':]);c^=i in'aA';s=i in'zZ'

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

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


2

পিএইচপি , 227 বাইট

for(;''<$s=$argn[$i++];)$s!=a&&$s!=A?$s!=z&&$s!=Z?($t=$m[stripos($m='~1!2@3#4$5%6^7&8*9(0	qwertyuiopasdfghjklzxcvbnm',$s)-1])+(print$s>' '?$s<A?!$h?$s-1?$s?$s-1:9:'`':$t:($t>=A&&(($s<a)+$h+$c)%2?$t^' ':$t):$s)+$h=0:$h=1:$c=!$c;

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

আমি একটি ম্যাপিং স্ট্রিং তৈরি করেছি ( ~1!2@3#4$5%6^7&8*9(0 qwertyuiopasdfghjklzxcvbnmযা প্রতিটি অঙ্কের জন্য তাদের বামদিকে SHIFT মোড থাকে এবং প্রতিটি অক্ষরের জন্য তাদের বামে চিঠি / কী থাকে।

আমি ইনপুট অক্ষর এবং প্রতিটি চরিত্রের জন্য লুপ করি:

  • যদি অক্ষর হয় aবা A, ক্যাপস লক পতাকাটি বিপরীত হয় (যৌক্তিক নয়)।
  • যদি অক্ষর হয় zবা Z, শিফ্ট পতাকা সেট করা হয় 1
  • চরিত্রটি যখন না থাকে aAzZ:
    • ম্যাপিং স্ট্রিংয়ের বর্তমান অক্ষরের বামে অক্ষরটি সঞ্চিত আছে $t
    • বর্তমানের অক্ষরটি যদি স্থান হয় তবে এটি মুদ্রিত হবে।
    • বর্তমান অক্ষর একটি অঙ্ক, এবং হয় যদি শিফট পতাকা তাহলে 1, $tছাপা হয়, অন্য, যদি ডিজিট 1, `ছাপা হয়, যদি ডিজিট 0, 9ছাপা হয় এবং অন্যথায়, digit-1ছাপা হয়।
    • যদি বর্তমান অক্ষরটি হ'ল চিঠি হয়, শিফ্ট পতঙ্গের স্থিতির উপর ভিত্তি করে ক্যাপস লক পতাকা এবং বর্তমান অক্ষরের আবরণ (নিম্ন / উচ্চ) $tনিম্ন বা উচ্চতর ক্ষেত্রে মুদ্রিত হয়। এখানে কেবলমাত্র বিশেষ কেসটি হ'ল ট্যাব অক্ষর, যা প্রিন্ট করা আছে।
    • শিফট পতাকা সর্বদা 0শেষে ফিরে সেট করা থাকে।

2

লাল , 218 বাইট

func[t][c: z: 0 rejoin collect[foreach s t[case[find"Aa"s[c: c xor 32]find"Zz"s[z: 32]on
[keep(select/case"  poiuytrewq^-lkjhgfdsamnbvcxzPOIUYTREWQ^-LKJHGFDSAMNBVCXZ0987654321~"s)xor either s <#"Z"[0][c xor z]z: 0]]]]]

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

বর্তমানে AaZzঅঙ্কগুলিকে প্রভাবিত করবেন না।


এটি দেখে মনে হচ্ছে না'A pear' -> ' OWe'
জিত্সে


@ জিতস কিন্তু অঙ্কগুলির সাথে সত্যিই ভাল কাজ করে না, এটি ওপি থেকে সম্পূর্ণ পরিষ্কার নয়
গ্যালেন ইভানভ

2
আমি একমত, চ্যালেঞ্জটি যেমন হয় তেমন অস্পষ্ট।
জিতসে

2

সি (জিসিসি) , 276 বাইট

i;j;k;h;l;m;n;o;f(char*b){char*c=calloc(m=strlen(b),1),*a=" \tqwertyuiop\aasdfghjkl\nzxcvbnm\tQWERTYUIOP\aASDFGHJKL\nZXCVBNM`1234567890";for(i=k=j=n=0;j<=m;l=a[i=index(a,b[j++])-a-1])k=l^7?k:!k,o=l>64&l<91?a[i-30*k]:l<97?h=i?l^7?l?l^10?l:0:32:0:0:a[i+29*k],o?c[n++]=o:n;b=c;}

-৩৩ বাইটের জন্য সিলিংক্যাটকে ধন্যবাদ।

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


সুপারিশ k^=!(l^7)পরিবর্তেk=l^7?k:!k
ceilingcat
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.