Oreo? না… ললিপপ, সম্ভবত?


46

২০০৯ সাল থেকে অ্যান্ড্রয়েডের সংস্করণ কোডের নামগুলি মিষ্টান্ন-থিমযুক্ত। অ্যানড্রয়েড 1.5 হ'ল কাপকেক, অ্যান্ড্রয়েড 1.6 হ'ল ডোনাট, অ্যান্ড্রয়েড ২.০ হ'ল ইক্লেয়ার ইত্যাদি fact বাস্তবে সংস্করণটির নাম বর্ণানুক্রমিক!

C -> Cupcake
D -> Donut
E -> Eclair
F -> Froyo
G -> Gingerbread
H -> Honeycomb
I -> Ice Cream Sandwich
J -> Jellybean
K -> Kitkat
L -> Lollipop
M -> Marshmallow
N -> Nougat
O -> Oreo

ক্রমানুসারে:

Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jellybean, Kitkat, Lollipop, Marshmallow, Nougat, Oreo

চ্যালেঞ্জ

একটি লিখুন প্রোগ্রাম / ফাংশন থেকে একটি চিঠি লাগে Cকরার Oএবং তার নিজ নিজ Android সংস্করণ কোড নাম আউটপুট।

বিশেষ উল্লেখ

  • স্ট্যান্ডার্ড আই / ও বিধি প্রযোজ্য
  • স্ট্যান্ডার্ড সমস্যা হয় নিষিদ্ধ
  • আপনি হয় ছোট হাতের ইনপুট বা বড় হাতের ইনপুট বা উভয়কেই সমর্থন করতে বেছে নিতে পারেন।
  • আউটপুট শিরোনাম ক্ষেত্রে ( Cupcake) বা সম্পূর্ণ নিম্ন ক্ষেত্রে ( eclair) হতে পারে। Ice cream sandwichআপনার পছন্দ মত মূলধন করা যেতে পারে। (আমি এটি এত বিভ্রান্তি সৃষ্টি করবে বলে আশা করিনি ...)
  • এই চ্যালেঞ্জটি সমস্ত ভাষায় স্বল্পতম পদ্ধতির সন্ধান সম্পর্কে নয়, বরং এটি প্রতিটি ভাষায় স্বল্পতম পদ্ধতির সন্ধান সম্পর্কে ।
  • আপনার কোডটি বাইকে স্কোর করা হবে , সাধারণত এনকোডিং ইউটিএফ -8 এ অন্যথায় নির্দিষ্ট না করা হয়।
  • অন্তর্নির্মিত ফাংশনগুলি (ম্যাথামেটিকায় একটিতে থাকতে পারে: পি) যা এই অনুক্রমের গণনা করার অনুমতি দেওয়া হয় তবে কোনও বিল্ট-ইন নির্ভর করে না এমন একটি সমাধান সহ উত্সাহ দেওয়া হয়।
  • এমনকি "ব্যবহারিক" ভাষার জন্য ব্যাখ্যাগুলি উত্সাহিত করা হয়

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

এগুলি বড় হাতের এবং শিরোনামের কেস।

Input   Output

F       Froyo
I       Ice Cream Sandwich
J       Jellybean
N       Nougat
G       Gingerbread
L       Lollipop

কয়েকটি আরও ভাল ফর্ম্যাটে:

F, I, J, N, G, L
f, i, j, n, g, l

F I J N G L
f i j n g l

8
@ মিঃ এক্সকোডার আপনি কি এটিকে ডুপ বলছেন না কারণ এটি সহজ? এটি স্পষ্টতই একটি ডুপ কারণ এটি একটি বিদ্যমান প্রশ্নের সহজ সংস্করণ। আমরা ইতিমধ্যে মৃত্যুর কাছে এই ধরণের প্রশ্নটি করেছি এবং এটি জেনারটিতে একেবারেই নতুন বা আকর্ষণীয় কিছুই সরবরাহ করে না।
গম উইজার্ড

2
@ ওয়েট উইজার্ড আমি মনে করি যে পূর্ববর্তীটি সীমাবদ্ধ উত্স হওয়ায় এটি আগের থেকে আরও উন্নততর অর্থ।
মিঃ এক্সকোডার

9
এটি অন্য কোনও চ্যালেঞ্জের দ্বৈত হতে পারে। তবে আমার দানবকে প্রতীক রূপান্তর (যা হ্যাশ-ভিত্তিক সমাধানের দিকে নিয়ে যায়) থেকে স্ট্রিং জিজ্ঞাসা করতে আমাকে সাহায্য করতে সহায়তা করুন । এই এক স্ট্রিং প্রতীক চাইছে।
আর্নৌল্ড


5
@ ম্যাজিক অ্যাক্টোপাস ইউরান হ্যাঁ, আমি এটিও দেখেছি। দুর্ভাগ্যক্রমে, এটি অন্তর্ভুক্ত করে না MARSHMALLOWএবং পরেও।
mbomb007

উত্তর:


14

কাঠকয়লা , 73 বাইট

θ§⪪”%↖↙1¬¢/vy⁵⸿ψJPP±≔S×5Jρνξ–Gu ◧;Yx³F▶ψ;εB↥:P¹N﹪J$α✂χ✳⦄⟲*±¶Sp:ς↘V◧◧”x℅θ

এটি অনলাইন চেষ্টা করুন! আই / ও নিম্ন ক্ষেত্রে আছে। এই ভার্বোজ সংস্করণ উপর ভিত্তি করে । ব্যাখ্যা:

                Implicitly print:
θ               Input character
                Implicitly print:
   ”...”        Long compressed string "oneycombx...xingerbread"
  ⪪            Split on
        x       The string "x"
 §              Circularly indexed by
          ℅     Character code of
           θ    Input character

4
আমি কি? কিভাবে।
ম্যাজিক অক্টোপাস উর্ন

পছন্দ করুন আশা করি এটি যথেষ্ট হয়েছে।
নিল

1
ওহ বাহ, আমি জানি না এটি সংকুচিত স্ট্রিংগুলি করেছে!
ম্যাজিক অক্টোপাস উরান

চারকোল এখানে এসওজিএলকে কীভাবে মারধর করে তা কেবল অবিশ্বাস্য।
এরিক দি আউটগল্ফার

জেলি এখনও এটি মারছে: আনন্দ: কোডগলফ.স্ট্যাকেক্সেঞ্জাওটা
হুগো এইচ

14

বাশ + কোর ইউটিলেস 131 128 122 117 বাইট।

স্ক্রিপ্টটি বেস 64 হিসাবে এনকোড করা হয়েছে কারণ এতে বিশেষ (অদ্ভুত) অক্ষর রয়েছে।

অ্যান্ড্রয়েড কোডনাম চিঠিটি তার প্রথম অবস্থানিক পরামিতি হিসাবে কেবল লোয়ারকেসে গ্রহণ করে । লোয়ারকেসেও পূর্ণ কোডনামটি দেয়

CiPBUeICicG5tJ8W5a0Pc/hYuw7hkNMSIYkAPjARkdgFrdbh3NJgTmB4gRPiiQDJAaOyBH4ki14C
QDeKRNQJ8IJYER411DAnx0SO4CAKYmFzZTMyICQwfHRyICdBLVo0NwonICdhLXoKICd8Z3JlcCBe
JDEK

Explaination:

#�Q��������s�X����!�>0�������`N`x������~$�^@7�D�    ��X5�0'�D�� 
base32 $0|tr 'A-Z47
' 'a-z
 '|grep ^$1
  • প্রথম দুটি লাইন হ'ল ডেটা সহ বাইনারি ব্লব (আরও তথ্যের জন্য উত্তরের শেষে দেখুন)। প্রথম লাইনটি খালি, বাশের সমস্যা এড়াতে অন্যথায় এটি বাইনারি ফাইল দিয়ে খাওয়ানো হচ্ছে বলে মনে করতে পারে।
  • base32 $0 32 76 টি অক্ষরের ডিফল্ট লাইন মোড়কের সাহায্যে স্ক্রিপ্টের সামগ্রীগুলি বেস 32 এর সাথে এনকোড করে।
  • tr 'A-Z47\n' 'a-z\n '(নোট যে \nএকটি আক্ষরিক সম্পর্কে newline হিসেবে লেখা হয়) ইনপুট ছোট হাতের অক্ষরে এবং প্রতিস্থাপন করবে 4 , 7 এবং \nদ্বারা \n, স্থান এবং স্থান যথাক্রমে।
  • grep ^$1 স্ক্রিপ্টের প্রথম আর্গুমেন্ট হিসাবে সরবরাহ করা স্ট্রিংয়ের সাথে মিলিত লাইনগুলি আউটপুট দেবে।

বাইনারি তথ্য

এই অক্টেট স্ট্রিমটি নকল করা হয়েছিল যাতে এটিতে নতুন লাইন থাকে না এবং যখন এটি আরএফসি 4648 অনুসারে বেস 32 এর সাথে ডিকোড করা হয়, ফলস্বরূপ স্ট্রিংটি অ্যান্ড্রয়েড কোডেনমের তালিকা হয় ( স্পেস ক্যারেক্টারটি প্রতিস্থাপন করতে আইটেম ডিলিমিটার হিসাবে 4 ব্যবহার করে 7 )। এর অদ্ভুততার মধ্যে এটি একটি নতুন লাইনের চরিত্র এবং একটি হ্যাশ ( ) দিয়ে শুরু হয় তাই এটি একটি মন্তব্য হিসাবে আচরণ করে এবং তাই দোভাষী দ্বারা সম্পাদিত হয় না।#

এছাড়াও, এই বেস 32 বাস্তবায়নের 76 টি অক্ষরে মোড়ক ডিফল্ট লাইনটি আমাকে একটি বাইট সাহায্য করেছিল, আমি আইসক্রিম স্যান্ডউইচ স্পেসগুলির মধ্যে একটি হিসাবে লাইন ব্রেকটি ব্যবহার করতে আইটেমগুলিকে পুনরায় সাজিয়েছি ।


এছাড়াও, এবং প্রসঙ্গ-বহির্ভূত একটি বিট যাচ্ছে, আমি মনে করি যে Google করা উচিত নয় মধ্যে সরাসরি অ্যান্ড্রয়েড codenames মধ্যে বাণিজ্যিক পণ্য বিজ্ঞাপন।


2
খুব ভাল, এটি একটি দুর্দান্ত উত্তর! সাইটে আপনাকে স্বাগতম :)
ডিজেএমসিমেহেম


1
এই সংস্করণটি বগি, কমপক্ষে আমার সিস্টেমে (বাশ 4.4.12, কোর্টিলস 8.27)। জন্য fসঙ্গে এক: এটা দুই লাইন আউটপুট froyoরহস্যময় সঙ্গে এবং অন্য fgeyltmuzteibno
মারসফট

1
@ মারসফট: ধন্যবাদ! সংশোধন করা হয়েছে। করুণা হ'ল এখন আমার আরও বাইট দরকার।
হেলিও

@ মারসফট: সলভ! এখন একই বাইট দিয়ে!
হেলিও


11

বাশ + কোর ইউটিস (গ্রেপ): 132 130 বাইট

হতে পারে সহজ

grep ^$1<<<'Cupcake
Donut
Eclair
Froyo
Gingerbread
Honeycomb
Ice Cream Sandwich
Jellybean
Kitkat
Lollipop
Marshmallow
Nougat
Oreo'

1
এর মাধ্যমে ইনপুটটি ddচতুর, তবে আপনি কি স্ক্রিপ্ট হিসাবে সংরক্ষণ করতে পারেন এবং $1পরিবর্তে ব্যবহার করতে পারেন ?
ডম হেস্টিংস

11

জেলি , 57 বাইট

Oị“¡ȥọ⁴ḷæĿɱ}#n#i®ÞSỊ3ƙɼıjṁ)-⁵g7ḥjC?4ƘẠʂ+ḋ¤⁺jṣð£?v»Ḳ¤F⁾! y

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

-5 জনাথন অ্যালানকে ধন্যবাদ ।


"আইসক্রিম স্যান্ডউইচ" এ স্পেস জন্য একটি স্থানধারক ব্যবহার করে এবং বিভাজন জন্য স্পেস ব্যবহার করে, উদাহরণস্বরূপ দ্বারা চার বাইট সংরক্ষণ করুন:Oị“¡ḟ¤Y7bh%XO€ḥıṣẎṄṢ°ḊḞİỌĿż0Y⁷ẠỵƈƭV>tÐNY_LɠðṅẒọX?v»Ḳ¤F⁾! y
জনাথন অ্যালান

... আসলে পাঁচটি বাইট তৈরি করুন (অভিধানে "ক্লেয়ার" থাকাকালীন আমি "লায়ার" ব্যবহার করেছি):Oị“¡ȥọ⁴ḷæĿɱ}#n#i®ÞSỊ3ƙɼıjṁ)-⁵g7ḥjC?4ƘẠʂ+ḋ¤⁺jṣð£?v»Ḳ¤F⁾! y
জোনাথন অ্যালান

@ জোনাথন অ্যালান ধন্যবাদ ... অপেক্ষা করুন আমার কেন দরকার হবে F? ওহ এর কারণ আমি স্ট্রিং হিসাবে
চার্ট

8

সি ++, 206 201 198 বাইট

3 বাইট সংরক্ষণ করতে সাহায্য করার জন্য @ সার্জিওলকে ধন্যবাদ!

#import<cstdio>
void f(int l){char*w[]={"upcake","onut","clair","royo","ingerbread","oneycomb","ce Cream Sandwich","ellybean","itkat","ollipop","arshmallow","ougat","reo"};printf("%c%s",l,w[l-67]);}

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

সি, 173 বাইট

f(l){char*w[]={"upcake","onut","clair","royo","ingerbread","oneycomb","ce Cream Sandwich","ellybean","itkat","ollipop","arshmallow","ougat","reo"};printf("%c%s",l,w[l-67]);}

ঠিক আছে, এটি সি ++ হিসাবে শুরু হয়েছিল, তবে এখন এটি বৈধ সিও এবং কিছু বাইট এটি সি হিসাবে সংকলন করে সংরক্ষণ করা যায়

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


1
প্রতিটি প্রবেশের প্রথম চিঠিটি সরিয়ে এটিকে ছোট করার আমার ব্যর্থ প্রচেষ্টা: tio.run/…
সার্জিওল

@ সার্জিওল ধন্যবাদ! আমি কিছুটা গল্ফ করার পরে তার সাথে তিনটি বাইট সংরক্ষণ করতে সক্ষম হয়েছি।
স্টেডিবক্স

4
#importসি ++ এ? আমি এখানে কি মিস করছি?
অভিনব গৌনিয়াল

@ অভিনবগৌনিয়াল: আইআইআরসি আমার মনে হয় কিছু সংকলন সতর্কতা আমাকেও যুক্ত করার পরামর্শ দিয়েছে #import <cstdio>কারণ অভাবের কারণে #include <stdio.h>; বা আমি ভুল হতে পারি
সার্জিওল

@ অভিনবগৌনিয়াল এটি স্ট্যান্ডার্ড সি ++ নয়, তবে কমপক্ষে জিসিসি এবং এমএসভিসি রয়েছে।
স্টেডিবক্স

7

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

নীলকে ধন্যবাদ 1 বাইট সংরক্ষণ করা

c=>'CupcakeDonutEclairFroyoGingerbreadHoneycombIce Cream SandwichJellybeanKitkatLollipopMarshmallowNougatOreo'.match(c+'([a-z]| .)+')[0]

ডেমো


আপনি অক্ষর পরিসীমা মধ্যে স্থান অন্তর্ভুক্ত করতে পারবেন না, সম্ভবত \ গুলি? খুব বেশি জেএস
রেজেজেস

1
@ মিচি x এক্স H আইসক্রিম স্যান্ডউইচ ব্যতীত বড় হাতের অক্ষরে থামার জন্য হেসের ম্যাচটি দরকার, যদিও ([a-z]| .)+(১ বাইট সংরক্ষণ করা) স্ট্রিংয়ের মাঝখানে আইসক্রিম স্যান্ডউইচের সাথেও কাজ করবে (কোডের নাম এস এ পৌঁছালে এটি ব্যর্থ হতে শুরু করবে) যদিও)।
নিল

@ নিল ভাল, [a-z\s]+বড় হাতের অক্ষরের সাথে মেলে না। আমি শুধু আপনি কি করতে পারেন যে জাতীয় জানি না
michi7x7

@ michi7x7 সুতরাং এটি আইসক্রিম স্যান্ডউইচের সাথে কীভাবে কাজ করবে?
নিল

2
Ice cream sandwichপরীক্ষার ক্ষেত্রে যেমন ব্যবহার করুন (যদিও এটি শিরোনামের মামলা নয়)
michi7x7

5

জাপট , 81 79 বাইট

কয়েকটি অক্ষর রয়েছে যা এখানে প্রদর্শিত হবে না।

U+`Æ+tfÆ÷¯kef©fclairfê $ßdfey¬mbf­ ×Äm ÑØrfÁKÞ fkfo¥ipopfÂâÚaow`qf gUc

এটা পরীক্ষা করো


ব্যাখ্যা

বড় হাতের অক্ষরের স্ট্রিংয়ের অন্তর্নির্মিত ইনপুট U

নামের একটি সংকীর্ণ স্ট্রিং (ব্যাকটিক্সের মধ্যে সমস্ত কিছু), একটি দ্বারা পৃথক করা হয় fএবং তাদের প্রথম অক্ষর ছাড়াই বিভক্ত ( q) একটি অ্যারেতে বিভক্ত হয় f

এই অ্যারের মধ্যে আমরা এস অক্ষর কোডের সূচক ( g) এ উপাদান পাই U। (হ্যাঁ, সূচক মোড়ানো!)

আমরা এটিকে সংযোজন করি Uএবং ফলস্বরূপ স্ট্রিংকে সুস্পষ্টভাবে আউটপুট করি।


1
খুশী হলাম। fপরিবর্তে নতুন বিভাজনগুলি
অলিভার

@ অলিভার: ওহ, দুর্দান্ত, ধন্যবাদ :) আমার ফোনে, রাস্তায় হেঁটে যাওয়ার ফলে অবশ্যই কিছুক্ষণের জন্য এটি পাওয়া যেত না (যদি আদৌ)।
শেগি

5

এক্সেল ভিবিএ, 137 134 132 বাইট

বেনামী VBE অবিলম্বে উইন্ডোতে ফাংশন যে প্রত্যাশিত প্রকার ইনপুট নেয় Variant\Stringএবং দৈর্ঘ্য 1একটি হোল্ডিং রাজধানী কক্ষ থেকে চিঠি [A1]VBE অবিলম্বে উইন্ডোতে ফাংশন এবং আউটপুট

?[A1]Split("upcake onut clair royo ingerbread oneycomb ce cream sandwich ellybean itkat ollipop arshmallow ougat reo")(Asc([A1])-67)

স্পেস পরিবর্তন করার জন্য -5 বাইট ce cream sandwichথেকে করার জন্য (গৃহস্থালির কাজ 32)  (গৃহস্থালির কাজ 160) মধ্যে `` (গৃহস্থালির কাজ 127) এবং কমা বিভেদক সরানোর Splitফাংশন


4

এসওজিএল ভি0.12 , 81 বাইট

]&ŗ√‰fō¶č▓'▼$»3↕█γb└a}⅟∑─b¹¦Æ:↕┘∞½Σ#gī±⅔≡≥\3Qy-7todΥ7ā‼D←εPρρ:¬c‰ƨ}f沑θ╔@ŗz,WHHw

এখানে চেষ্টা করুন!

ব্যাখ্যা:

...‘            push "cupcake donut eclair froyo gingerbread honeycomb ice_cream_sandwich jellybean kitkat lollipop marshmallow nougat oreo"
    θ           split on spaces
     ╔@ŗ        replace underscores with spaces
        z,W     find the inputs index in the lowercase alphabet
           HH   decrease by 2
             w  get that item from the array

এখন একটি সংক্ষিপ্ত 80 বাইট সংস্করণ রয়েছে, তবে আমি এই চ্যালেঞ্জের কারণে বিল্ট-ইনগুলি + 2 / -2 যুক্ত করেছি: পি

সংক্ষিপ্ত স্ট্রিংটি "cup","cake"," donut eclair fro","yo gingerbread honeycomb ice","_","cream","_","sandwich jelly","bean kit","kat loll","i","pop marsh","mallow"," nougat oreo"ইংরেজী শব্দের সর্বাধিক ব্যবহারের জন্য বিভক্ত (অনেকগুলি এসওজিএল অভিধানে ছিল না), এখনই আমি কোনও উন্নতি পাই না।


4

> <> , 181 বাইট

!vi:od5*-0$6a*@p!
v<
 v"upcake"
 v"onut"
 v"clair"
 v"royo"
 v"ingerbread"
 v"oneycomb"
 v"ce Cream Sandwich"
 v"ellybean"
 v"itkat"
 v"ollipop"
 v"arshmallow"
 v"ougat"
 v"reo"
o<>

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

এটি <মুদ্রণের জন্য সঠিক নামের সামনে একটি প্রোগ্রাম রাখার জন্য প্রোগ্রামটি স্ব-সংশোধন করে কাজ করে , যার অবস্থানটি ইনপুটযুক্ত চিঠির মান দ্বারা নির্ধারিত হয়।


3

ডায়ালগ এপিএল, 158 143 131 বাইট

1 জ্যাকেট @ জ্যাচারকে ধন্যবাদ বাইট সংরক্ষণ করা হয়েছে ý

12 বাইট সংরক্ষিত হয়েছে @ গিলকে ধন্যবাদ

{⍵,(⎕A⍳⍵)⊃','(1↓¨=⊂⊢)',,,upcake,onut,clair,royo,ingerbread,oneycomb,ce Cream Sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo'}

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

কিভাবে?

',,,upcake...' - শব্দের তালিকা

','(1↓¨=⊂⊢) - দ্বারা বিভক্ত ','

(⎕A⍳⍵)⊃ - বর্ণমালায় যুক্তির স্থান থেকে নিন

⍵, - এবং চিঠিতে সংযোজন


আপনি কেন সমতল হিসাবে বর্ণনা করেছেন?
জাকারি

এছাড়াও, {⍵,∊⍬⍬'upcake' 'onut' 'clair' 'royo' 'ingerbread' 'oneycomb' 'ce cream sandwich' 'ellybean' 'itkat' 'ollipop' 'arshmallow' 'ougat' 'reo'[⎕A⍳⍵]}1 কম বাইটের জন্য কাজ করে!
জাকারি

@ জ্যাচারý কারণ এটি ... "মিক্স"। সুন্দর! কেন এবং না ↑?
উরিল

কারণ পাশাপাশি চ্যাপ্টা, তবে আসলে সমতল এবং "মিক্স" নয়। ↑(1 2)(3 4)সমতল হয় না, যখন ∊(1 2)(3 4)হয়।
জাকারি

@ জাকারি ওপি পরিবর্তন করেছে ... আবার GA
উরিল

3

এক্সেল, 154 বাইট

=A1&CHOOSE(CODE(A1)-66,"upcake","onut","clair","royo","ingerbread","oneycomb","ce Cream Sandwich","ellybean","itkat","ollipop","arshmallow","ougat","reo")

আমি কখনই এইভাবে এক্সেল ব্যবহার করার কথা ভাবিনি। পারফেক্ট। এখন এটি ওয়ার্ড দিয়ে করুন
tisaconundrum

@ থিসাকনুন্ড্রাম - আমরা এই অভিশপ্ত জিনিসটির বিষয়ে কথা বলি না; এমনকি ভিবিএও এটি সংরক্ষণ করতে পারেনি
টেলর স্কট


3

টিসিএল , 158 বাইট

proc A s {puts $s[lindex {upcake onut clair royo ingerbread oneycomb "ce Cream Sandwich" ellybean itkat ollipop arshmallow ougat reo} [expr [scan $s %c]-67]]}

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


2
TCL! আপনি এখানে খুব বেশি টিসিএল সমাধান দেখতে পাচ্ছেন না। এটা একটা লজ্জাজনক ব্যপার.
সিলভিও মায়োলো


2

গাইয়া , ১১০ বাইট

:c“reo“upcake“onut“clair“royo“ingerbread“oneycomb“ce Cream Sandwich“ellybean“itkat“ollipop“arshmallow“ougat”=+

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

ব্যাখ্যা

:          Push two copies of the input
 c         Get the codepoint of the top one
  “...”    Push the list of version names without their first letters
       =   Modularly index the code point into the list
        +  Append to the input


2

পাইথ , 117 116 বাইট

আমার পাইথন উত্তর বন্দর ।

+Q@c"upcake,onut,clair,royo,ingerbread,oneycomb,ce cream sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo"\,a67C

এখানে চেষ্টা করুন! বা টেস্ট স্যুটটি পরীক্ষা করে দেখুন

পাইথ , 99 বাইট (70 টি অক্ষর)

-15 বাইটস ধন্যবাদ_সামান্য_নাম_এখানে ধন্যবাদ !

+Q@c." y|çEC#nZÙ¦Y;åê½9{ü/ãѪ#¤
ØìjX\"¦Hó¤Ê#§T£®úåâ«B'3£zÞz~Уë"\,a67C

এখানে চেষ্টা করুন!


সংক্ষিপ্ত স্ট্রিংগুলি ব্যবহার করে আপনি 15 বাইট সংরক্ষণ করতে পারেন (যদিও উত্তরটিতে তখন অক্ষত অক্ষর থাকতে হবে)।
insert_name_here

ধন্যবাদ_নাম_নাম_এখানে ধন্যবাদ।
মিঃ এক্সকোডার

2

জাভা (ওপেনজেডিকে 8) , 128 বাইট

c->c+"upcake#onut#clair#royo#ingerbread#oneycomb#ce Cream Sandwich#ellybean#itkat#ollipop#arshmallow#ougat#reo".split("#")[c-67]

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


রেজেক্সস, 149 বাইট ব্যবহার করে

s->"CupcakeDonutEclairFroyoGingerbreadHoneycombIce cream sandwichJellybeanKitkatLollipopMarshmallowNougatOreo".replaceAll(".*?("+s+"[a-z ]+).*","$1")

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

  • রেইগেক্স সমাধানে 4 বাইট সংরক্ষণ করা হয়েছে কেভিন ক্রুইজসেনকে ধন্যবাদ!

1
.splitযখন আমি চ্যালেঞ্জটি পড়ি এবং কোনও জাভা উত্তর (উত্তরের দ্বিতীয় পৃষ্ঠায় না যাওয়া পর্যন্ত) খুঁজে পেলাম না, তখন একই উত্তরটি পোস্ট করার কথা ছিল (কেবলমাত্র ভিন্ন ভিন্ন সীমিতার সাথে) + রেজেক্স উত্তর হিসাবে, ([a-z]| .)+হতে পারে [a-z ]+, যেহেতু আপনাকে "আইসক্রিম স্যান্ডউইচ" আউটপুট দেওয়ার অনুমতি দেওয়া হয় (" আউটপুট শিরোনামের ক্ষেত্রে (কাপকেক) বা সম্পূর্ণ নিম্নতর ক্ষেত্রে (এক্লেয়ার) হতে পারে Ice আইসক্রিম স্যান্ডউইচ আপনার পছন্দ মত মূলধনযুক্ত হতে পারে। (আমি এটি এত বিভ্রান্তির সৃষ্টি করার আশা করিনি ...) ")
কেভিন ক্রুইজসেন

2

কিউবিকভাবে , 1047 852 830 বাইট

কার্যকারিতা গল্ফ বৃহত্তর প্রোগ্রামগুলিতে অবশ্যই সহায়তা করে ...

⇒+552
⇒+551
⇒+553
⇒+55
⇒/1+52
⇒/1+53
~@7+4f5=?{:5+53@:4/1f1@:5+51@:5+2/1f4@:5+3/1f2@:2/1f2@}
+5f5=?{:3/1f1@:2/1f1@:5+53@:5+3/1f1@}
+51f5=?{:5+51@+1@:5+2/1f4@:5+1/1+551@+1@}
+52f5=?{:5+1/1f1@:3/1f1@:4/1f3@:3/1f1@}
+53f5=?{:5+1/1f2@:2/1f1@:4/1f2@:2/1f2@:5+1/1f1@:5+3/1f4@:5+1/1f1@:2/1f2@:5+2/1f4@:1/1f2@}
+53=?{:3/1f1@:2/1f1@-1@:4/1f3@:5+51@:3/1f1@:1/1f1@:5+3/1f4@}
+1f6=?{:5+51@:2/1f2@:5/1+3@:4/1+52@:5+1/1f1@:2/1f2@:5+2/1+55@:1/1f1@:5/1+3@:2/1+54@:5+2/1f4@6:2/1f1@6:1/1f2@6:2/1f3@6:5+1/1f2@6:5+51@6:5/1f2@6}
+2f6=?{:2/1f2@:5+52@@:4/1f3@:5+3/1f4@:2/1f2@:5+2/1f4@:2/1f1@}
+3f6=?{:5+1/1f2@:5+3/1f1@-1@:5+2/1f4@:5+3/1f1@}
+4f6=?{:3/1f1@:5+52@@:5+1/1f2@:4/1f1@:3/1f1@:4/1f1@}
+5f6=?{:5+2/1f4@:5+1/1f1@:5+2/1f1@:5/1f2@:1/1f1@:5+2/1f4@:5+52@@:3/1f1@:2/1f3}
+51f6=?{:3/1f1@:5+53@:4/1f2@:5+2/1f4@:5+3/1f1@}
+52f6=?{:5+1/1f1@:2/1f2@:3/1f1@}

এটি অনলাইন চেষ্টা করুন! এটি কিউবিকির এসবিসিএসে 830 বাইট ।

  • ~ইনপুট পড়ে, @এটি মুদ্রণ। (ইনপুটটি অবৈধ হলে এটি বিরতি দেয়))
  • প্রত্যেকটি +.../...+...=7?6{...}(প্রতিটি ASCII মান ইনপুট তুলনা C, D, E, F, ইত্যাদি) এবং মধ্যে কোড executes {...}যদি তারা সমান।
  • প্রতিটি কোড ব্লক ( {...}) বাকী নাম মুদ্রণ করে (প্রথম অক্ষরটি ইতিমধ্যে মুদ্রিত)।

কিউবিক অনুবাদককে তেহপিয়ার্সের এএসসিআইআই ধন্যবাদ যা খুব সহায়ক ছিল।


1
এটি 1060 বাইট
কনার ও'ব্রায়ান


1

পাইকে , 117 বাইট

আমার পাইথন উত্তর বন্দর ।

"upcake,onut,clair,royo,ingerbread,oneycomb,ce cream sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo"\,cQ.o67-@+

এখানে চেষ্টা করুন!

হেক্স কোড হিসাবে এনকোডড, পাইকে গল্ফ করার নতুন কৌশল, এটি হবে 116 বাইট :

22 75 70 63 61 6B 65 2C 6F 6E 75 74 2C 63 6C 61 69 72 2C 72 6F 79 6F 2C 69 6E 67 65 72 62 72 65 61 64 2C 6F 6E 65 79 63 6F 6D 62 2C 63 65 20 63 72 65 61 6D 20 73 61 6E 64 77 69 63 68 2C 65 6C 6C 79 62 65 61 6E 2C 69 74 6B 61 74 2C 6F 6C 6C 69 70 6F 70 2C 61 72 73 68 6D 61 6C 6C 6F 77 2C 6F 75 67 61 74 2C 72 65 6F 22 5C 2C 63 51 EF 36 37 2D 40 2B

(পেস্ট ইন এবং চেক Use hex encoding?)।


1
পাইকের একটি "অ্যান্ড্রয়েড রিলিজ" অন্তর্নির্মিত প্রয়োজন?
এরিক দি আউটগলফার

1
@ এরিকথ আউটগল্ফার এর পোকেমনস রয়েছে, তবে কেন নয়?
মিঃ এক্সকোডার

1

সি # , 147 136 129 বাইট


উপাত্ত

  • ইনপুট Char c সংস্করণ নামের প্রথম অক্ষর
  • আউটপুট String সংস্করণটির পুরো নাম

Golfed

// Requires the input to be uppercase.
// This is the one counting for the challange
c=>c+"upcake,onut,clair,royo,ingerbread,oneycomb,ce Cream Sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo".Split(',')[c-67];

// Optional. Requires the input to be lowercase.
c=>c+"upcake,onut,clair,royo,ingerbread,oneycomb,ce Cream Sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo".Split(',')[c-99];

// Optional. Works with both uppercase and lowercase with the additional cost of 10 bytes.
c=>c+"upcake,onut,clair,royo,ingerbread,oneycomb,ce Cream Sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo".Split(',')[c-(c<99?67:99)];

Ungolfed

c =>
    c + "upcake,onut,clair,royo,ingerbread,oneycomb,ce Cream Sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo"
        .Split( ',' )[ c - 67 ];

অসম্পূর্ণ পাঠযোগ্য

// Takes a char 
c =>
    // Appends the input letter to...
    c + 

    // ... the name in the resulting index of the subtraction of the char with 67 ('C'), or with 99 ('c') for the lowercase version
    "upcake,onut,clair,royo,ingerbread,oneycomb,ce Cream Sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo"
        .Split( ',' )[ c - 67 ];

// Takes a char 
c => 
    // Appends the input letter to...
    c + 

    // ... the name in the resulting index of the subtraction of the char with 67 ('C') if the char is uppercase ( 'C' == 67, 'O' == 79 )
    //    or with 99 ('c') if the char is lowercase ( 'c' == 99, 'o' == 111 )
    "upcake,onut,clair,royo,ingerbread,oneycomb,ce Cream Sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo"
        .Split( ',' )[ c - ( c < 99 ? 67 : 99 ) ];

সম্পূর্ণ কোড

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestBench {
    public static class Program {
        private static Func<Char, String> f = c =>
            c + "upcake,onut,clair,royo,ingerbread,oneycomb,ce Cream Sandwich,ellybean,itkat,ollipop,arshmallow,ougat,reo"
                .Split( ',' )[ c - 67 ];

        static void Main( string[] args ) {
            List<Char>
                testCases = new List<Char>() {
                    'C',
                    'D',
                    'E',
                    'F',
                    'G',
                    'H',
                    'I',
                    'J',
                    'K',
                    'L',
                    'M',
                    'N',
                    'O',
                };

            foreach(Char testCase in testCases) {
                Console.WriteLine($" Input: {testCase}\nOutput: {f(testCase)}\n");
            }

            Console.ReadLine();
        }
    }
}

রিলিজ

  • v1.0 - 147 bytes- প্রাথমিক সমাধান।
  • v1.1 - -11 bytes- ধার করা অলিভিয়ার গ্রাগোয়ারের ধারণা।
  • v1.2 - - 7 bytes- ফাংশন ইনপুট সুস্পষ্ট থেকে অন্তর্নিহিত পরিবর্তন।

নোট

  • না

প্রতিটি নাম থেকে প্রথম অক্ষরটি সরিয়ে এবং অ্যারে থেকে ইনপুট চরিত্রটিতে আপনি যে স্ট্রিংটি পেয়েছেন সেগুলি যুক্ত করে আপনি কী কিছু সংরক্ষণ করতে পারবেন?
শেগি

(char c)সবেমাত্র হতে পারেc
লাফডওয়েভেন


1

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

{⍵/⍨⍞=⎕A[+\⍵∊⎕A]}'ABCupcakeDonutEclairFroyoGingerbreadHonecombIce cream sandwichJellybeanKitkatLollipopMarshmallowNougatOreo'

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

কিভাবে?

  • ⍵∊⎕A (দীর্ঘ স্ট্রিং) বড় হাতের অক্ষরের জন্য 1, লোয়ারকেস / স্পেসের জন্য 0 সহ।
  • +\ গ্রুপ (রিটার্নিং নম্বর) capital মূল অক্ষর দ্বারা ⍵
  • ⎕A[...] মূল সংখ্যাটি একটি সংখ্যার দ্বারা স্বাক্ষরিত
  • ⍵/⍨⍞= গ্রুপটি সেই নম্বর দ্বারা স্বাক্ষরিত
  • {...}'...'দীর্ঘ স্ট্রিং সেট করুন

চতুর পদ্ধতির।
অ্যাডম

1

আর, 131 , 126 , 123 , 112 , 178 বাইট

grep(paste0('^',scan(,'')),c("Cupcake","Donut","Eclair","Froyo","Gingerbread","Honeycomb","Ice Cream Sandwich","Jellybean","Kitkat","Lollipop","Marshmallow","Nougat","Oreo"),v=T)

5 + 8 + 3 বাইট সংরক্ষণের জন্য @ মার্ককে ধন্যবাদ




1

পাওয়ারশেল , 136 134 বাইট

param($c)$c+('upcake0onut0clair0royo0ingerbread0oneycomb0ce cream sandwich0ellybean0itkat0ollipop0arshmallow0ougat0reo'-split0)[$c-99]

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

[char]ছোট হাতের অক্ষরে এবং ছোট হাতের আউটপুটগুলিতে একটি ইনপুট চরিত্র নেয় ।

-2 -split0পরিবর্তে অ্যাডমবর্কবার্কের পরামর্শকে ধন্যবাদ -split','


আপনি 0বিভাজক হিসাবে এবং তারপরে -split0উদ্ধৃতিগুলি সংরক্ষণ করতে পারেন।
অ্যাডমবর্কবর্ক

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