কতবার এই টিপতে হবে?


24

আমরা সবাই পুরানো-স্কুল টেলিফোনের কিপ্যাডে অভ্যস্ত, তাই না? রেফারেন্সের জন্য, এখানে এটির মতো দেখাচ্ছে:

টেলিফোন কিবাদ


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

যারা এ সম্পর্কে অপরিচিত তাদের জন্য এটি কীভাবে কাজ করে তা এখানে দেখুন:

  • অঙ্ক সহ কীটি 2উদাহরণস্বরূপ, এতে স্ট্রিংও abcলেখা থাকে। টাইপ করতে a, আপনাকে অবশ্যই এই কীটি একবার bটিপতে হবে , কারণ আপনাকে অবশ্যই দুবার চাপতে হবে এবং cআপনাকে অবশ্যই তিনবার চাপতে হবে।

  • একই কীতে থাকা একটানা অক্ষরের জন্য, আবার চাপ দেওয়ার আগে আপনাকে অবশ্যই 1 সেকেন্ড অপেক্ষা করতে হবে। সুতরাং, আপনি যদি টাইপ করতে চান তবে আপনাকে cbঅবশ্যই 3 বার টিপুন c, এক সেকেন্ড অপেক্ষা করতে হবে এবং তার জন্য দু'বার টিপতে হবে b, তারপরেও 5 টি আলতো চাপুন ।

  • একমাত্র স্থান ব্যতীত অন্য সমস্ত কীগুলির ক্ষেত্রে একই প্রযোজ্য , যার জন্য কেবল 1 টি চাপ দরকার। এছাড়াও খেয়াল করুন যে কীগুলি 7এবং 9তাদের চারটি অক্ষর রয়েছে। একই অ্যালগরিদম প্রয়োগ করা হয়, কেবলমাত্র অক্ষরের সংখ্যা হ'ল পার্থক্য। প্রতিটি কী-এর সাথে সম্পর্কিত স্ট্রিংগুলি উপরের চিত্রে (তবে ছোট হাতের অক্ষরে) পাওয়া যাবে বা নীচের তালিকায়, আপনি যে সমস্ত অক্ষর গ্রহণ করতে পারবেন সেগুলি পাওয়া যাবে:

    "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", " "
    

পরীক্ষার মামলা

ইনপুট -> আউটপুট (ব্যাখ্যা)

"" -> 0 (কিছুই ট্যাপ করা উচিত নয়)
"জল" -> 8 ("ডাব্লু, এ, টি" প্রত্যেকের জন্য 1 টি ট্যাপের প্রয়োজন (9, 2 এবং 8 টিতে), "ই" এর জন্য 2 টি কল প্রয়োজন (কী 3 তে), "আর" 3 টি কল প্রয়োজন (কী 7 তে) ), 1 + 1 + 1 + 2 + 3 = 8)
"সাবান" -> 9 (4 + 3 + 1 + 1)
"মোমেলা" -> 13 (3 + 1 + 2 + 1 + 2 + 3 + 1)
"কোড গল্ফ" -> 20 (3 + 3 + 1 + 2 + 1 (স্থানের জন্য) + 1 + 3 + 3 + 3)
"পাহাড়ের রাজা" -> 33 (2 + 3 + 2 + 1 + 1 + 3 + 3 + 1 + 1 + 2 + 2 + 1 + 2 + 3 + 3 + 3)

চশমা

  • স্ট্যান্ডার্ড আই / ও বিধি এবং ডিফল্ট লুফোলগুলি প্রযোজ্য।

  • আপনি কেবল আপনার ভাষার নেটিভ স্ট্রিংয়ের ধরণে ইনপুট নিতে পারেন। আউটপুট হয় হয় একটি পূর্ণসংখ্যা বা যে পূর্ণসংখ্যার একটি স্ট্রিং প্রতিনিধিত্ব।

  • এটি , প্রতিটি ভাষার মধ্যে সংক্ষিপ্ত উত্তর ।




2
আমি মনে করি আপনি যদি প্রতি সেকেন্ডে 1 টি ট্যাপ করেন এবং 1 সেকেন্ড অপেক্ষা করতে হয় এবং ট্যাপের পরিবর্তে সেকেন্ডে গণনা করা এটি আরও আকর্ষণীয় প্রশ্ন হয়ে উঠবে ।
ইয়াক

@ ইয়াক্ক এটি অনেক জটিল হবে
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার যদিও আপনি নিশ্চিত? আমি দেখেছি এখানে কোড-উইজার্ডগুলি একটি টুইটের চেয়ে কম জায়গায় অসম্ভব জিনিসগুলি করে।
J_F_B_M

উত্তর:


11

জাভাস্ক্রিপ্ট (ES6) 77 66 64 60 বাইট

(@ জোহান কার্লসন এবং @ আর্নল্ডকে ধন্যবাদ কিছু বাইট সংরক্ষণ করা হয়েছে)।

s=>[...s].map(l=>s=~~s+2+'behknquxcfilorvysz'.search(l)/8)|s


(s,t=0)=>[...s].map(l=>t+=(1+'behknquxcfilorvysz'.indexOf(l)/8|0)+1)&&t71 বাইটের জন্য
জোহান কার্লসন

ধন্যবাদ, @ জোহানকার্লসন, ঝরনা চলাকালীন আমি একই জিনিসটি পেয়েছি! আরও 5 টি বাইট শেভ করার জন্য আরেকটি অপ্টিমাইজেশন পেয়েছি।
রিক হিচকক

6
আমি 71 বাইট জন্য একটি বিশুদ্ধরূপে আঙ্কিক সমাধান পাওয়া: f=s=>[...s].map(c=>t+=((c=parseInt(0+c,36))>23?c+3:c&&~-c%3)%7%4+1,t=0)|t
নীল

1
@ নীল, যদিও এটি কম নাও হতে পারে, অবশ্যই তা চালাক।
রিক হিচকক

1
@ নীল আপনার এটি পোস্ট করা উচিত।
মিঃ এক্সকোডার

7

05 এ বি 1 ই , 29 26 25 বাইট

ð¢svA•22ā₂•S£ð«øðδKy.åƶOO

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

ব্যাখ্যা

ð¢                         # count spaces in input
  sv                       # for each char y in input
    A                      # push the lowercase alphabet
     •22ā₂•S               # push the base-10 digit list [3,3,3,3,3,4,3,4]
            £              # split the alphabet into pieces of these sizes
             ð«            # append a space to each
               ø           # transpose
                ðδK        # deep remove spaces
                   y.å     # check y for membership of each
                      ƶ    # lift each by their index in the list
                       O   # sum the list
                        O  # sum the stack

দুঃখিত, কিন্তু একটি খালি ইনপুট জন্য এই দেয় 10. এটি অন্য কোথাও জরিমানা
জনাব Xcoder

@ মিঃ এক্সকোডার: খালি স্ট্রিংটি কোনও আউটপুট দেয় না, তবে এটি এখনও ভুল। জানার জন্য ধন্যবাদ, আমি এটি ঠিক করব।
এমিগানা

2
এটি টিআইওতে 10 দেয়।
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার: হ্যাঁ আপনাকে স্পষ্টভাবে খালি স্ট্রিং দিতে হবে। কোনও ইনপুট খালি স্ট্রিংয়ের মতো নয়। এটা আমি কিছুটা বিভ্রান্তিকর তা জানি। এখনই ঠিক করা হয়েছে :)
এমিগানা

@ Mr.Xcoder: খালি স্ট্রিং ইনপুট মত দেওয়া হয় এই
Emigna

7

পাইথন 2 , 56 বাইট

@ রিকহিচককের জাভাস্ক্রিপ্ট সমাধান হিসাবে একই অ্যালগরিদম ব্যবহার করে

lambda x:sum('behknquxcfilorvysz'.find(c)/8+2for c in x)

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


আকর্ষণীয় সমাধান। এটি স্পেসের জন্য কীভাবে কাজ করে, আমি তা>> <না পাই?
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার কোনও কিছুর জন্য স্ট্রিং '...'.find(c)রিটার্নে নেই -1। 2 যোগ করে আমরা একটি কিপ্রেস পাই।
ovs

আমি জানতাম যে এটি ফিরে এসেছে -1, তবে বুঝতে পারি নি +2যে বয়লারপ্লেটের পরে আপনার একটি আছে ... যাইহোক, এখন পর্যন্ত সংক্ষিপ্ততম পাইথন সমাধান।
মিঃ এক্সকোডার

ওএমএল, আমি আমার প্রোগ্রামটি ধীরে ধীরে গল্ফ করার পরে ঠিক একই সমাধানটি করতে পেরেছি, যতক্ষণ না বুঝতে পেরেছি আপনি এটি পোস্ট করেছেন :( এই সমাধানটি সন্ধান করার জন্যও চমৎকার কাজ :)
মারিও ইসহাক

5

পাইথন 3 , 69 67 65 64 বাইট

মিঃ এক্সকোডারকে 1 বাইট ধন্যবাদ।

ফেলিপ নারদী বাটিস্তার জন্য 1 টি বাইট ধন্যবাদ।

lambda x:sum((ord(i)+~(i>"s"))%3+3*(i in"sz")+(i>" ")for i in x)

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


প্রতিস্থাপন পর এক বাইট সংরক্ষণ i==" "সঙ্গে i<"a", কারণ আপনি শুধুমাত্র অক্ষর এবং স্পেস গ্রহণ
জনাব Xcoder

4
Minutes১ মিনিট ... অনেক দেরী!
এরিক আউটগলফার

5

ডায়ালগ এপিএল, 37 বাইট

+/⌈9÷⍨'adgjmptw behknqux~cfilorvy~'⍳⍞

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

কিভাবে?

স্ট্রিংয়ের ইনপুটটির প্রতিটি চরের এনডেক্স পান 'adgjmptw behknqux~cfilorvy~'( sএবং zএটি ডিফল্ট ২৮ এ হবে), 9 দ্বারা বিভাজক, যোগফল এবং যোগফল।


আপনি 'adgjmptw ' 'behknqux' 'cfilorvy' 'sz'কিছু বাইট সংরক্ষণ করতে ব্যবহার করতে পারেন
ক্রিটিক্সী লিথোস


@LeakyNun onice
ঊরীয়েল

আপনি স্ট্রিংয়ে স্থানটি ফেলে দিতে পারেন
ক্রিটিক্সী লিথোস

@ ইউরাইল অপেক্ষা করুন, আপনার f←এটি গণনা করার দরকার নেই সুতরাং এটি 47 বাইট
লিকি নুন

4

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

f=
s=>[...s].map(c=>t+=((c=parseInt(0+c,36))>23?c+3:c&&~-c%3)%7%4+1,t=0)|t
<input oninput=o.textContent=f(this.value)><pre id=o>

কোনও লেটার টেবিল দেখুন! আমি @ ল্যাকইনুনের সূত্রটি বেশ বুঝতে পারি নি তাই আমি নিজের সাথে এসেছি।


খাঁটি পাটিগণিত :)
মিঃ এক্সকোডার

কী হয় s=>[...s]না কেনs=>s.map()...
ইভান ক্যারল

1
@ ইভানক্রোল sএকটি স্ট্রিং, তাই আপনি mapএটি সরাসরি পারবেন না । ...sপুনরাবৃত্তির পরে s, [...s]পুনরাবৃত্তিটি অ্যারেতে রূপান্তর করে কার্যকরভাবে sঅক্ষরের অ্যারেতে বিভক্ত হয়।
নীল

4

সি, 211 196 বাইট

এখানে প্রথম জমা দেওয়া ... বেশ দীর্ঘ দেখায় এবং আমি দেখতে পাচ্ছি যে এটি একটি দক্ষ পদ্ধতির নয়, তবে কমপক্ষে এটি কার্যকর হয় :)

f(char*n){char*k=" abcdefghijklmnopqrstuvwxyz";int t[]={0,3,3,3,3,3,4,3,4};int l=0,s,j,i;while(*n){i=0;while(k[i]){if(k[i]==*n){s=0;for(j=0;s<i-t[j];s+=t[j++]);*n++;l+=(!i?1:i-s);}i++;}}return l;}

অবরুদ্ধ সংস্করণ:

int f(char *n){
  char *k=" abcdefghijklmnopqrstuvwxyz";
  int t[]={0,3,3,3,3,3,4,3,4};
  int l=0,s,j,i;
  while(*n){                          // loop through input characters
    i=0;
    while(k[i]){
      if(k[i]==*n){                   // find matching char in k
        s=0;
        for(j=0;s<i-t[j];s+=t[j++]);  // sum up the "key sizes" up to the key found
        *n++;
        l+=(!i?1:i-s);                // key presses are i-s except for space (1)
      }
      i++;
    }
  }
  return l;
}

*(k+i)হতে পারে k[i]
ক্যালকুলেটরফলাইন

আপনি একটি পরে জায়গা কেটে যাবে *(যেমন char*n), এবং আপনার খালি করার জন্য আপনার ঘোষণা যোগ forবিবৃতি (পরিবর্তে int s=0,j=0;(for(;আপনি চাই for(int s=0,k=0;) এবং পরিবর্তে i==0ব্যবহার!i
TAS

এই ইঙ্গিতগুলির জন্য আপনাকে ধন্যবাদ। আমি লুপটির sজন্য রাখতে পারি নি কারণ আমি পরে এটি ব্যবহার করি তবে আমি intঘোষণাগুলি একসাথে রেখেছি এবং আমার যেখানে প্রয়োজন সেখানে সহায়ক নিয়োগ করেছি।
dbuchmann

ইয়ে সহকর্মী সি গল্ফার! যাইহোক, কিছু পয়েন্টার: প্রায় সমস্ত পরিস্থিতিতে লুপগুলি তুলনায় লুপগুলি কঠোরভাবে ভাল - ফ্রি সেমিকোলনের সুবিধা নিন, বিশেষত পুনরাবৃত্তির অভিব্যক্তিতে। বেশিরভাগ জায়গায় সেমিকোলনের পরিবর্তে কমা ব্যবহার করুন, এটি আপনাকে বেশিরভাগ জায়গায় কোঁকড়ানো ধনুর্বন্ধনী না রেখে পালিয়ে যেতে দেয়। অন্যান্য অপ্টিমাইজেশন রয়েছে তবে সি এর কোন সংস্করণটি আপনি সংকলন করছেন সে সম্পর্কে তারা বেশি নির্ভরশীল।
dj0wns

4

হাস্কেল - 74 71 62 বাইট

সম্পাদনা: ফিল্টারের পরিবর্তে একটি তালিকা বোধগম্যতা ব্যবহার করে 3 বাইট সরানো হয়েছে

সম্পাদনা করুন: সিরাকুসা, লাইকনি এবং জগারবকে 9 টি বাইট সংরক্ষণ করুন!

f=sum.(>>= \x->1:[1|y<-"bcceffhiikllnooqrrsssuvvxyyzzz",y==x])

ব্যবহার

λ> f "candela"
13
λ>

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


সদৃশ অক্ষরের উদ্দেশ্য কী?
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার এটি টেপগুলি গণনা করতে ব্যবহৃত হয়, আমি একটি ব্যাখ্যা যুক্ত করব।
হেনরি

আপনি rewriting পর এক বাইট সংরক্ষণ করতে পারবেন fকরার f=length.(=<<)(\x->x:[y|y<-l,y==x]), যেখানে (=<<)হয় concatMapএখানে।
সেরাকুসা

এবং আরেকটি ফিরে যাচ্ছেন filter:f=length.(=<<)(\x->x:filter(==x)l)
সেরাকুশ

1
আপনি lকেবল একবার ব্যবহার হিসাবে , এটি ইনলাইন করা যেতে পারে।
লাইকনি


3

ক্লোজার, 82 76 বাইট

#(apply +(for[c %](+(count(filter #{c}"bcceffhiikllnooqrrsssuvvxyyzzz"))1)))

ওহ এটি সহজ filterএবং countব্যবহারের চেয়ে সহজ frequencies। মূল:

#(apply +(count %)(for[c %](get(frequencies"bcceffhiikllnooqrrsssuvvxyyzzz")c 0)))

স্ট্রিংটি আপনাকে প্রদত্ত চরিত্রের জন্য কী টিপতে হবে একবারের চেয়ে কতগুণ বেশি এনকোড করেছে :)





2

জাভা, 95 73 বাইট

a->a.chars().map(b->1+(b<64?0:b+(Math.abs(b-115)<4?4:5))%(3+b/112)).sum()

ফাংশনটিকে ল্যাম্বডা এক্সপ্রেশন (যেখানে aটাইপ করা হয়েছে String) করার জন্য কেভিন ক্রুইজসেনকে ধন্যবাদ জানাই । 95 বাইট হয়ে গেল 73 বাইট!

একটি ল্যাম্বডা এক্সপ্রেশন ব্যবহার করে প্রতিটি অক্ষরের প্রেস গণনা যোগ করে map()map()এই গণিতটি ব্যবহার করে স্ট্রিমের প্রতিটি অক্ষরকে (নিম্নতর ক্ষেত্রে পরিসীমাতে ASCII 97-122 হয়) উপযুক্ত মান হিসাবে দেখায় (সাধারণ করাত তরঙ্গের মতো দেখায়, তবে উভয় ক্ষেত্রে 4 টি চক্র বিরক্তিকর হয়): এই গণিতটি ব্যবহার করে 1+(b<64?0:b+(Math.abs(b-115)<4?4:5))%(3+b/112)এখানে সেই মডেলের একটি দেশম গ্রাফ' s


লুফোলের তালিকায় বলা হয়েছে কোড স্নিপেটগুলি পোস্ট না করা সত্ত্বেও দেখে মনে হচ্ছে যদিও এখনও পর্যন্ত প্রত্যেকে এটি করেছে। যেভাবেই হোক, আমার পুরো প্রোগ্রামটি 130 বাইট । এখানে এটি:interface Z{static void main(String a){System.out.print(a.chars().map(b->1+(b<64?0:b+(Math.abs(b-115)<4?4:5))%(3+b/112)).sum());}}
অ্যাডাম মেনডেনহল

1
পিপিসিজিতে আপনাকে স্বাগতম! আপনি সত্যই বলেছেন যে স্নিপেটগুলি অনুমোদিত নয় তবে ডিফল্টটি প্রোগ্রাম বা ফাংশন । এবং জাভা 8 এর সাথে আপনি ল্যাম্বডাস ব্যবহার করতে পারেন। সুতরাং এই ক্ষেত্রে a->{return a.chars().map(b->1+(b<64?0:b+(Math.abs(b-115)<4?4:5))%(3+b/112)).sum();}অনুমোদিত। এবং যেহেতু এটি একক রিটার্নের বিবৃতি, a->a.chars().map(b->1+(b<64?0:b+(Math.abs(b-115)<4?4:5))%(3+b/112)).sum()( 73 বাইট ) আপনার উত্তর হবে be এছাড়াও, আপনার উত্তরটির একটি ট্রাইআইটলাইন-লিংক আপনি নিজের উত্তরটিতে যুক্ত করতে চাইতে পারেন। আবার: স্বাগতম, এবং দুর্দান্ত উত্তর। আমার কাছ থেকে +1
কেভিন ক্রুইজসেন

2
ল্যাম্বডাস সম্পর্কে কিছু বিষয় লক্ষণীয়। আপনাকে গণনা f=বা শীর্ষস্থানীয় আধা-কোলন করতে হবে না ;। এবং প্যারামিটারের প্রকারটি যুক্ত করতে হবে না যতক্ষণ আপনি প্রকারটি কী তা উল্লেখ করেন (সুতরাং পরিবর্তে (String a)->আপনি এটি ব্যবহার করতে পারেন a->এবং উল্লেখ করতে পারেন যে ইনপুটটি আপনার উত্তরে aএকটি String। ওহ, এবং টিপস জাভা golfing জন্য এবং <সমস্ত ভাষা> এ golfing জন্য টিপস পড়া আকর্ষণীয় হতে পারে, যদি আপনি এখনো আছে।
কেভিন ক্রুইজসেন

1

গণিত, 83 বাইট

c=Characters;Tr[Tr@Mod[c@"bc1def1ghi1jkl1mno1pqrstuv1wxyz "~Position~#,4]+1&/@c@#]&

এটি সাধারণত গ্রহণযোগ্য বলে মনে হয় যে গাণিতিকের উত্তরগুলি স্ট্রিং ভেরিয়েবলের জন্য অক্ষরের তালিকা ব্যবহার করার অনুমতি দেয় যেমন এই ফাংশনটির ইনপুট। (এছাড়াও কি aশুরুতে নিখোঁজ রয়েছে "bc1..."?)
গ্রেগ মার্টিন

এটি কোড গল্ফ.এটি "
ট্র

1

কিউবিআইসি , 94 বাইট

[_l;||_SA,a,1|p=p-(instr(@sz`,B)>0)-(instr(@cfilorvy`+C,B)>0)-(instr(@behknqux`+C+D,B)>0)+1}?p

ব্যাখ্যা

[    |      FOR a = 1 TO
 _l |         the length of
   ;            the input string (A$)
_SA,a,1|    Take the a'th char of A$ and assign it to B$
p=p         p is our tap-counter, and in each iteration it gets increased by the code below
            which consist of this pattern:
                instr(@xyz`,B)>0    where 
                - instr tests if arg 2 is in arg 1 (it either returns 0 or X where X is the index of a2 in a1)
                - @...` defines the letters we want to test as arg1
                - B is the current letter to count the taps for
            Each of these blocks adds 1 tap to the counter, and each block has the letters of its level
            (4-taps, 3-taps or 2-taps) and the level 'above' it.
    -(instr(@sz`,B)>0)              <-- letters that require 4 taps
    -(instr(@cfilorvy`+C,B)>0)      <-- 3 or 4 taps
    -(instr(@behknqux`+C+D,B)>0)    <-- 2, 3,or 4 taps
    +1                              <-- and always a 1-tap
}           NEXT
?p          PRINT the number of taps

1

সজোরে আঘাত ,69 68 বাইট

bc<<<`fold -1|tr "\n "adgjmptwbehknquxcfilorvysz +[1*9][2*8][3*8]44`

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

প্রতি লাইনে একটি চর ভাঁজ করে, প্রতিটি নিউলাইন +, প্রতিটি স্থান 1এবং প্রতিটি অক্ষর পুশ সংখ্যার সাথে প্রতিলিপি করে । বিসি যোগফল করে।


আপনার মেশিনে আপনার প্রয়োজন হতে পারেbc <(fold -1|tr "\n "adgjmptwbehknquxcfilorvysz +[1*9][2*8][3*8]44;echo 0)
মার্কোসম

1

সি, 92 88 বাইট

c,n;f(char*s){n=0;while(c=*s++)n+=(c=='s')+3*(c>'y')+1+(c+1+(c<'s'))%3-(c<33);return n;}

আপনি ব্যবহার করতে পারেন s=nপ্রতিস্থাপন return n, এবং একত্রিত s++;সঙ্গে c=*s। এটি 9 বাইট সংক্ষিপ্ত হতে পারে।
কিউ গান

স্থানীয় s=nযেহেতু কেইউগান কাজ করবে না sএবং *s=nকেবলমাত্র CHAR_BITবিটগুলি থাকার কারণে এটি কাজ করবে না *s, যা কিছু বার্তাগুলির জন্য যথেষ্ট নয়। তবে আপনি ঠিক বলেছেন s++। ধন্যবাদ।
রায়

1

এপিএল (ডায়ালগ) , 36 বাইট

{+/(3×⍵∊'sz'),1+31+⍵⍳⍨819⌶⎕A~'SZ'}

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

এস এবং জেড ছাড়াই বর্ণমালায় Mod-3 সূচকগুলি সন্ধান করে । যেহেতু স্পেস, এস এবং জেড পাওয়া যায় নি, তাদের "সূচক 25" রয়েছে (সর্বোচ্চ সূচকের চেয়ে আরও একটি), যা স্থানের পক্ষে ভাল। তারপরে আমাদের প্রতিটি এস বা জেড এর জন্য 3 টি যুক্ত করতে হবে ।

{ বেনামে ফাংশন যেখানে যুক্তিটি দ্বারা উপস্থাপিত হয় :

⎕A~'SZ' বড় হাতের অক্ষর এস এবং জেড ব্যতীত একটি বড় হাতের অক্ষর

819⌶ ছোট হাতের অক্ষর ব্যবহার

⍵⍳⍨ এতে যুক্তির the n টি বিষয় d

¯1+ নেতিবাচক এক যোগ করুন

3| গেলিক ভাষার -3

1+ একটি যুক্ত করুন (এটি সমস্ত 0-মোডগুলিকে 3 এ রূপান্তর করে)

(), প্রিপেন্ড:

  ⍵∊'sz' বুলিয়ান যেখানে আর্গুমেন্ট হয় s বা z হয়

   3 দ্বারা গুণা

+/ সমষ্টি



1

পিপ , 100 90 বাইট

a:qb:["abc""def""ghi""jkl""mno""pqrs""tuv""wxyz"s]Fc,#a{Fd,#b{e:((bd)@?(ac))e<4?i+:e+1x}}i

খ এর প্রতিটি উপাদানের সাথে ম্যাচের জন্য ইনপুটটির প্রতিটি অক্ষর পরীক্ষা করুন। এই ম্যাচের প্লাস 1 এর সূচক মোটটিতে যুক্ত হয়।

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

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