চিঠিগুলি বৃদ্ধির সময় সংখ্যা হ্রাস


18

পত্র কমে যাওয়ার সাথে সাথে এলোমেলোভাবে অনুপ্রেরণা নম্বরগুলি বৃদ্ধি করে

মিশ্র অক্ষর এবং পূর্ণসংখ্যার (যেমন, একটি তালিকা দেওয়া ['a', 2, 3, 'b']) বৃদ্ধি চিঠি বর্ণমালা (এ মোড়ানো এক অবস্থানে দ্বারা zকরা a) এবং হ্রাস 1. দ্বারা সংখ্যার উপরে উদাহরণস্বরূপ, আউটপুট হওয়া উচিত ['b', 1, 2, 'c']

  • ইনপুটটি একটি মিশ্র-ধরণের তালিকা, একটি সীমানাযুক্ত স্ট্রিং, স্ট্রিংগুলির তালিকা ইত্যাদি হতে পারে
  • zএঁকে দেয় aতবে 1যায় 0এবং 0যায় -1ইত্যাদি etc.
  • ইনপুটটি কেবল সর্বদা [a-z]এবং পূর্ণসংখ্যার হবে। আপনার পক্ষে [A-Z]যদি সহজ হয় তবে আপনি ইনপুট হিসাবে বড় অক্ষর চয়ন করতে পারেন ।
  • ইনপুটটি খালি খালি গ্যারান্টিযুক্ত।
  • ইনপুটটিতে কেবল সংখ্যা বা কেবলমাত্র অক্ষর থাকতে পারে।

উদাহরণ:

Input
Output

['a', 2, 3, 'b']
['b', 1, 2, 'c']

['a', 'b', 'z']
['b', 'c', 'a']

[-1, 0, 257, 'x']
[-2, -1, 256, 'y']

[0, 3, 1, 20382876]
[-1, 2, 0, 20382875]

বিধি এবং ব্যাখ্যা

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

1
সংখ্যাটি যদি পূর্ণসংখ্যার সমান হয়।মিনভ্যালু বা একটি স্বাক্ষরিত পূর্ণসংখ্যার সর্বনিম্ন মান আমার ভাষায় যা আছে, আমি কি পূর্ণসংখ্যা.ম্যাক্সভ্যালুতে নিমজ্জিত হব বা আমার গণনা অবিরত করা উচিত?
Nzall

1
@ এনজাল অনির্ধারিত আচরণ। বিধি এবং স্পষ্টকরণের অধীনে 5th ম বুলেট পয়েন্টটি উল্লেখ করে যে ইনপুট এবং আউটপুট উভয়ই আপনার ভাষার স্থানীয় intপরিসরে ফিট করে, তাই আপনি কখনই Integer.MinValueইনপুট হিসাবে পাবেন না ।
অ্যাডমবর্কবার্ক

উত্তর:



5

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

lambda a:[i-1if''!=i*0else chr(97+(ord(i)+8)%26)for i in a]

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

-1 বাইট ধন্যবাদ আউটগলফার এরিককে ধন্যবাদ



@ এরিকথিউটগল্ফার পূর্ণসংখ্যা বনাম স্ট্রিং তুলনা আপনার সমাধানটিতে কাজ করছে বলে মনে হচ্ছে না।
Jitse

ওহ ঠিক আছে, তার জন্য আপনার পাইথন 2 দরকার।
এরিক আউটগল্ফার

হ্যাঁ হ্যাঁ, তাহলে মনে হচ্ছে এটি কাজ করে। এখনও প্রতিস্থাপন -96সঙ্গে +8একটি বাইট পরিমাণ সঞ্চয় হয়।
Jitse

''!=i*0আমার থেকে তিনটি বাইট কম str(i)>'9', ভাল কাজ
ব্ল্যাক আউল কাই


5

রুবি , 34 বাইট

প্রতিটি উপাদানের জন্য, উপাদানটি -1 ফেরত দেওয়ার চেষ্টা করুন। স্ট্রিংগুলি এটি করতে পারে না, সুতরাং তারা ত্রুটিযুক্ত হয়ে যায় এবং ক্লজটি ধরে নিয়ে যায় rescue, যা পরিবর্তে succবর্ণমালার পরবর্তী অক্ষরটি ফিরিয়ে আনার আহ্বান জানায় । succ"রোল ওভার" চালু zএবং aaযদিও ফিরে আসে , তাই আমরা কেবল ফিরে আসা স্ট্রিংয়ে প্রথম অক্ষরটি গ্রহণ করি।

->a{a.map{|e|e-1rescue e.succ[0]}}

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



3

পাইথন 3 , 182 130 118 বাইট

-51 প্রতিস্থাপন @AdmBorkBork এবং @Black আউল কাই ধন্যবাদ, -1 @Black আউল কাই করতে বাইট ধন্যবাদ, -12 বাইট বাইট .append()সঙ্গে +=[]এবং প্রতিস্থাপন n+1সঙ্গে-~n

def a(x):
 b='abcdefghijklmnopqrstuvwxyz';c=[]
 for d in x:
  try:c+=[d-1]
  except:c+=[b[(-~b.find(d)%26)]]
 return c

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

প্রশ্নটি স্যান্ডবক্সে থাকা অবস্থায় আমি এটি তৈরি করেছিলাম তবে এখন পর্যন্ত এটি পোস্ট করা হয়নি see : P: P

Ungolfed

def a(x):
    b = 'abcdefghijklmnopqrstuvwxyz'
    c = []
    for d in x:
        try:
            c.append(d - 1)
        except:
            c.append(b[((b.find(d) + 1) % 26)])
    return c

ব্যাখ্যা

ইনপুটড তালিকার প্রতিটি উপাদানের জন্য x, এটি 1 টি বিয়োগ করে শেষের তালিকায় যুক্ত করার চেষ্টা করে। যদি কোনও ত্রুটি দেখা দেয় (কারণ উপাদানটি একটি স্ট্রিং), বর্ণমালায় বর্ণের সূচকটি 1 দ্বারা যুক্ত হয় এবং 26 মোড নেওয়া হয়। মোড 26 পিছনে 0 থেকে 26 এর সূচক মোড়ক করে।


কোডগল্ফ এসই তে স্বাগতম! আমি পাইথনের বিশেষজ্ঞ নই, তবে আমি মনে করি আপনি একগুচ্ছ বাইট সংরক্ষণের জন্য ট্যাবগুলির জন্য 4 টি স্পেস অদলবদল করতে পারেন।
অ্যাডমবর্কবার্ক

আমি কেবল হোয়াইটস্পেস বাদ দিয়ে 131 বাইটে পেয়েছি । আরও একটি বাইট বুঝতে পারে যে (x+27)%26একই ফলাফল পেয়েছে(x+1)%26
আউল কাই

@ অ্যাডমবর্কবার্ক ব্ল্যাক ওলকাই সহায়তার জন্য আপনাকে ধন্যবাদ! আমি পোস্টটি সম্পাদনা করেছি।
//F60367134

আপনি str(d)==dচেষ্টা / বাদে ভরসা করার পরিবর্তে এটি স্ট্রিং কিনা তা পরীক্ষা করতে একটি বার্নিশ ব্যবহার করতে পারেন । তারপরে, যেহেতু আপনার আর চেষ্টা করার প্রয়োজন নেই / বাদে আপনি একটি তালিকা বোধগম্যে পুরো কাজটি করতে পারেন! আমি আপনাকে এটি সম্পর্কে আরও কিছু ভাবতে দেব তবে আপনি সহজেই এইভাবে 100 বাইটের নিচে পেতে পারেন;)
মান ইঙ্ক



2

Gema , 55 টি অক্ষর

<N>=@sub{$1;1}
z=a
<L>=@int-char{@add{@char-int{$1};1}}

নোংরা সমাধান। চিঠি বর্ধিতকরণের চারপাশে মোড়ানো বেদনাদায়ক দীর্ঘ, সুতরাং একটি পৃথক নিয়ম পেয়েছে।

ইনপুট বেশ কিছু হতে পারে, কিছু বিভাজক ব্যবহার করুন। (আপনি এমনকি সংখ্যা এবং বর্ণগুলির মধ্যে বিভাজক বাদ দিতে পারেন to পরিবর্তনের জন্য 1 টি অক্ষরের দামের সাথে<L1> আপনিও অক্ষরের মধ্যে পৃথককে বাদ দিতে পারেন))

নমুনা রান:

bash-5.0$ gema '<N>=@sub{$1;1};z=a;<L>=@int-char{@add{@char-int{$1};1}}' <<< "['a', 2, 3, 'b']"
['b', 1, 2, 'c']

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

গেমা, 66 টি অক্ষর

<N>=@sub{$1;1}
<L>=@cmpi{$1;z;@int-char{@add{@char-int{$1};1}};a;}

পরিষ্কার সমাধান। অর্ধ তুলনামূলক দক্ষ, তারপর অর্ধেক খাঁটি ব্যথা।

নমুনা রান:

bash-5.0$ gema '<N>=@sub{$1;1};<L>=@cmpi{$1;z;@int-char{@add{@char-int{$1};1}};a;}' <<< "['a', 2, 3, 'b']"
['b', 1, 2, 'c']

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


2

আর , 77 85 বাইট

হুইপিং 8 বাইটের জন্য @ জিউস্প্পকে ধন্যবাদ

function(l)Map(function(x)"if"(i<-match(x,L<-c(letters,"a"),0),L[i+1],x-1),l)

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

তালিকা হিসাবে ইনপুট নেয়। @ জিউসেপ্পের একটি বড় পরিবর্তনের পরে, Mapএটি তালিকায় কোনও ফাংশন প্রয়োগ করতে ব্যবহার করে। এটি matchএকটি চরিত্রের জন্য পরীক্ষার জন্য ব্যবহার করে । পরীক্ষার সময় বর্ধিত চিঠি তালিকা এবং সূচি ফেরতের জন্য সংরক্ষণ করা হয়।


আমি মনে করি যে characterএগুলি সীমাবদ্ধ নয় কারণ তারা এগুলি দ্বারা নিক্ষিপ্ত numericহয় is.finiteএবং তাই হয় NA?
জিউসেপ

@ জিউসেপ ভেবেছিলেন যে এই লাইনের সাথে এটি কিছু হবে। যদিও এটি একই বাইটস যেমন is.double আমার এটি ব্যবহার করা প্রয়োজন :)
মিকিটি


আপনার থেকে মুক্তি পাওয়ার জন্য দুঃখিত is.finite, আমি ভেবেছিলাম আমি নিজেই এটির উপর একটি ক্র্যাক নেব
জিউস্পে

1
@ জিউসেপ খুব সুন্দর, Mapএবং এর কথা ভাবেননি match। এটা তোলে প্রতিটি দিন কিছু শিখতে ভালো লাগলো :)
MickyT


2

রেটিনা , 52 50 48 58 41 37 বাইট

T`zl`l
\b0
-
\d+
*
-_*
-$.0
_(_*)
$.1

-২ বাইটস @ ফ্রাইআমডেজিগম্যানকে ধন্যবাদ (এবং উল্লেখ করার জন্য আমার একটি বাগ ছিল: 1 → -1পরিবর্তে 1 → 0)।
+10 বাইট সাথে একটি বাগ ঠিক করতে 1এবং 0.. এমন বিরক্তিকর প্রান্তের একটি মামলা যা আমাকে বেশ কিছুক্ষণের জন্য চাপিয়ে দিয়েছিল .. তবে এটি এখন 41 বাইটে গল্ফ করেছে। (এখন আমি মন্তব্যে উল্লিখিত <40 বাইট সংস্করণ @ নীল এবং @ কোজক্যাক সম্পর্কে কৌতূহল বোধ করছি .. ধন্যবাদ @ নীল রূপান্তর 0করার -এবং প্রথমে নেতিবাচক মানগুলির সাথে মোকাবিলা করার জন্য ডানদিকে ফেরত পাঠানো থেকে পূর্ণসংখ্যায় রূপান্তর করা অনেক সাহায্য করেছে))
স্পষ্টতই আমার এই মুহুর্তের সীমানার দরকার নেই, সুতরাং -4 বাইট ..>>

আই / ও কমা-বিচ্ছিন্ন।

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

ব্যাখ্যা:

সকলকে এখানে প্রতিলিপি "zabcdefghijklmnopqrstuvwxy(z)"করুন "abcdefghijklmnopqrstuvwxyz":

T`zl`l

সমস্ত স্ট্যান্ডেলোনকে 0এর সাথে প্রতিস্থাপন করুন -:

\b0
-

সমস্ত সংখ্যাকে আন্ডারকোরের পরিমাণের সাথে প্রতিস্থাপন করে অ্যানারিতে রূপান্তর করুন:

\d+
*

সমস্ত নেতিবাচক মানগুলির জন্য, এর পিছনে শূন্য বা আরও একরেখা-রেখা সহ: বিয়োগ চিহ্নটি রাখুন, এবং এই ম্যাচের মোট দৈর্ঘ্য (সহ -) একটি পূর্ণসংখ্যায় ফিরে রূপান্তর করুন:

-_*
-$.0

ধনাত্মক পূর্ণসংখ্যার ক্ষেত্রে: একটি একক অ্যানারি-লাইনের সাথে মিলে একটি ধনাত্মক পূর্ণসংখ্যার সাথে মিলিত হোন, তারপরে শূন্য বা আরও বেশি অ্যানারি-লাইন। এবং তারপরে সেই ক্যাপচার গোষ্ঠীর দৈর্ঘ্যের সাথে সেই একক আনারি-লাইনটি সরাতে এবং একই সাথে তাদের পূর্বে পূর্ণসংখ্যায় রূপান্তর করুন:

_(_*)
$.1


1

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

for(;''<$a=$argv[++$i];)echo$a<a?--$a:(++$a)[0],_;

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

টেস্ট

আউটপুট অক্ষর / পূর্ণসংখ্যাগুলি _একটি অনুবর্তক বিভাজক দ্বারা পৃথক করে ।

পিএইচপি-তে আপনি সরাসরি চিঠিগুলি বৃদ্ধি করতে পারেন, তাই আমি এটির সুবিধা নিয়েছি। তবে এটিকে রূপান্তর করতে , এটিকে zবর্ধিত করা হয় aa, এটি ব্যবহৃত হয় যা কেবলমাত্র বর্ধিত মানের প্রথম অক্ষরকেই আউটপুট করে।a(++$a)[0]


1

জাপট -m , 13 12 বাইট

-1 বাইট শ্যাগি ধন্যবাদ

;¤?UÉ:Cg8+Uc

চেষ্টা করে দেখুন

ব্যাখ্যা:

;o ?UÉ:Cg8+Uc
-m              // Map U through the input:
 o              // Try to create a range [1...U]
   ?            //   If that creates a range (number):
    UÉ          //     Return U-1
      :         //   Else, return:
;      C        //     alphabet (a...z)
        g       //     Index:
         8+Uc   //       8 + char-code of U

দ্রষ্টব্য : ছোট হাতের বর্ণমালায় ;পরিণত Cহয়


এটা তোলে থেকে এই গোপন মত দেখাচ্ছে না zকরতে a
শেগি

@ শেগি ওফস, আমি এটি মিস করেছি। আমি +2 বাইটের জন্য একটি অস্থায়ী ফিক্স যুক্ত করেছি
অলিভার

কোন দশক ছাড়াই খনি (এখনও) ঠিক করার কোনও উপায় বের করতে পারিনি, যা এটি আমার পছন্দ অনুসারে আপনার সাথে খুব সাদৃশ্যপূর্ণ তাই আমি আপাতত মুছে ফেলছি। o-> ¤এখানে আপনাকে একটি বাইট সংরক্ষণ করবে।
শেগি

1
+2এবং তারপরে -1শেগিকে ধন্যবাদ আরও সঠিক হতে হবে! : ডি
শেগি

1
@ শেগি দি +2অলিভারকে ধন্যবাদ জানায়: পি
অলিভার

1

হাস্কেল, 52 51 বাইট

map q
q"z"="a"
q x|x>"`"=succ<$>x|1<2=show$read x-1

যেহেতু হাস্কেল মিশ্র প্রকারের তালিকাগুলির অনুমতি দেয় না, অক্ষর এবং সংখ্যাগুলি নেওয়া হয় এবং স্ট্রিং হিসাবে ফিরে আসে।

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

প্রতিটি তালিকার উপাদানগুলির জন্য পরীক্ষা করুন: স্ট্রিংটি থাকলে "z"ফিরে আসুন "a"; যদি স্ট্রিংয়ের প্রথম অক্ষর হয়>'`' (উদাহরণস্বরূপ একটি চিঠি, একটি সংখ্যা নয়), তবে স্ট্রিংয়ে চর (গুলি) এর উত্তরসূরীকে ফিরিয়ে দিন; অন্যথায় এটি সংখ্যা হওয়া উচিত, সুতরাং পূর্ণসংখ্যায় রূপান্তর করুন 1 বিয়োগ করুন এবং আবার একটি স্ট্রিংয়ে রূপান্তর করুন।

সম্পাদনা করুন: -1 বাইট @ কোল ধন্যবাদ।


এই 51 বাইট জন্য কাজ করে ?
কোলে

@ কোল: হ্যাঁ তা করে। ধন্যবাদ!
নিমি

1

জেলি , 13 বাইট

®i‘ị®µ’e?€Øa©

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

জোনাথন অ্যালান দ্বারা চালিত ফিক্স

দ্রষ্টব্য: এটি কোনও সম্পূর্ণ প্রোগ্রাম নয়, টিআইও-র উপরের পাদচরণটি ফাংশনটি পরীক্ষা করতে কমান্ড-লাইন আর্গুমেন্ট ব্যবহার করে ইনপুট করা সম্ভব করে।


ইনপুট (বা chr পরিসীমা ওভার) নেগেটিভ সঙ্গে কাজ করবে না। ®i‘ị®µ’e?€Øa©আমি বিশ্বাস করি শূন্যের জন্য এটি ঠিক।
জোনাথন অ্যালান

@ জোনাথান অ্যালান হাহ, আমি ভুলে গেছি যে এই ক্ষেত্রে ঠিক কাজ করে না। অদ্ভুত, যেহেতু আমি ইনপুটগুলিতে ~অ্যাকাউন্ট হিসাবে শর্ত হিসাবে ব্যবহার করা এড়িয়ে -1চলেছি ... এছাড়াও, আমি কীভাবে সংক্ষিপ্ত করতে যাচ্ছি ®i‘ị®...
এরিক দ্য আউটগল্ফার

1

সি ++ 17 (জিসিসি) , 120 বাইট

#define O int operator()
struct V{O(char&c){c++-90?:c=65;}O(int&i){--i;}};int f(auto&l){for(auto&x:l)std::visit(V{},x);}

এখানে fপ্রয়োজনীয় ফাংশন রয়েছে; lউভয়ই ইনপুট এবং আউটপুট প্যারামিটার এবং এটি প্রত্যাশিত যে কোনও বস্তুগুলির ধারক যা সামঞ্জস্যপূর্ণ std::variant<char, int>বা তদ্বিপরীত।

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



1

কে (ওকে) , 27 বাইট

{$[9+@x;`c$97+26!8+x;x-1]}'

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

-8 এনজিএন এবং ডিজাইমাকে ধন্যবাদ :)


1
৩১ বাইট {$[-9=@x;x-1;90=x;"A";`c$1+x]}'স্পেশাল-কেস '
ইনলাইন করে

@ স্ক্রোল আমি মনে করি ডিজাইমা ঠিক আছে - 'গণনা করা উচিত। এখানে একটি দীর্ঘ দীর্ঘ অভিব্যক্তি যা প্রয়োজন নেই 'এবং "জেড" -> "এ" এর {`c`i[t]$(-26*x~'"z")+x+1-2*t:x~'0+x}
যত্নও নেয়

বা আরও ভাল - অভিক্ষেপের একটি তালিকা তৈরি করুন এবং তাদের সঙ্গে প্রয়োগ @': {(`c$97+26!-96+;-1+)[x~'0+x]@'x}। এখানে -96(যা +1 মাইনাস "" এ "এর এসকি কোডটি) 8এটি 26
মডে

অন্য -1 বাইট বড় হাতের অক্ষরের জন্য নির্বাচন করে:{(`c$65+26!14+;-1+)[x=_x]@'x}
ngn

@ ডিজাইমা আপনার দ্বারা সংক্ষিপ্ত করা যেতে পারে -9=@x->x=_x
এনজিএন

0

রুনিক এনেক্যান্টমেন্টস , 36 বাইট

\$ka'~?*3({':+1\
R';$ >i::0Sqn=?/1-$

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

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

প্রোগ্রামটি স্ট্যাকের আন্ডারফ্লো সম্পাদন না করা পর্যন্ত পুনরাবৃত্তি করুন।

1 টি বাইট সংরক্ষণ; করার জন্য আউটপুট দ্বারা পৃথক করা হয় (এবং এটির পিছনে একটি রয়েছে)। ইনপুট স্থান দ্বারা পৃথক করা হয়।


0

স্ট্যাক্স , 17 বাইট

àºÇ╝'♫d▬♣ΩÜEƒ6╩╬ó

এটি চালান এবং এটি ডিবাগ করুন

এটি আরও ছোট করে করা সম্ভব হওয়া উচিত বলে মনে হয় তবে আমি সর্বশেষ রিলিজ থেকে নতুন স্ট্যাক্স বৈশিষ্ট্যটি ব্যবহার করার সুযোগটি প্রতিরোধ করতে পারি না।

স্ট্রিং হিসাবে পুরো ইনপুট চিকিত্সা:

  1. Regex এর সাথে অঙ্কের রানগুলি প্রতিস্থাপন করে eval(match) - 1। এটি নতুন বৈশিষ্ট্য, কারণ রেজেক্স ব্লক প্রতিস্থাপন কোনও স্ট্রিং নয়, তবে পূর্ণসংখ্যা।
  2. রেজেক্স ছোট বর্ণের বর্ণমালার চারপাশে রিং-অনুবাদ করে রানের রানের প্রতিস্থাপন করে।


0

সি #, 148 বাইট

(object[] o)=>{var l=new List<object>();foreach(var h in o){try{l.Add((int)h-1);}catch{var c=((char)h+1);if(c>122){c=97;}l.Add((char)c);}}return l;}

Repl.it লিঙ্ক

Ungolfed:

var inputList = new object[] {'a', 2, 'z', 6};
var outputList = new List<object>();
foreach (var currentItem in inputList)
{
    try
    {
        outputList.Add((int)currentItem-1);
    }
    catch
    {
        var currentItemPlusOne = ((char)currentItem + 1);
        if (currentItemPlusOne > 122)
        {
            currentItemPlusOne = 97;
        }
        outputList.Add((char)currentItemPlusOne);
    }
}

0

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

WS⟦⎇№βι§β⊕⌕βιI⊖ι

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। STDIN এ ইনপুট নেয়, প্রতিটি লাইন হয় একক ছোট ছোট অক্ষর বা একটি পূর্ণসংখ্যা এবং STDOUT- এ পৃথক লাইনে আউটপুট দেয়। ব্যাখ্যা:

WS

খালি লাইন না আসা পর্যন্ত বার বার এসটিডিএন থেকে ইনপুট করুন।

এই অভিব্যক্তিটি নিজের লাইনে আউটপুট তৈরি করুন।

⎇№βι

এটি কি পূর্বনির্ধারিত ছোট হাতের বর্ণমালার একটি স্ট্রিং?

§β⊕⌕βι

যদি তা হয় তবে পরবর্তী অক্ষরটি চক্রাকারে সূচকযুক্ত মুদ্রণ করুন।

I⊖ι

অন্যথায় মান হ্রাস করুন এবং অন্তর্নিহিত মুদ্রণের জন্য স্ট্রিংয়ে ফিরে।


0

Zsh , 47 বাইট

a=({a..z} a)
for i
<<<${a[$a[(i)$i]+1]:-$[--i]}

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

a=({a..z} a)                  # append extra 'a' to the end to handle 'z' case
for i                         # for i in "$@" arguments
<<<${a[$a[(i)$i]+1]:-$[--i]}
       $a[(i)$i]              # first (i)ndex of $i in list (if not found, set to after last index)
      [         +1]           # increment
   ${a[           ]        }  # value in array at index. if lookup fails, empty string
   ${              :-$[--i]}  # if empty, decrement $i and substitute instead
<<<                           # print to stdout

0

সি (জিসিসি) , 93 86 বাইট

f(int**s){for(char**p=s,*z;z=*p++;)64&*z?*z=*z-'z'?++*z:97:sprintf(z,"%d",atoi(z)-1);}

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

ইনপুটটি হ'ল নির্ধারিত স্ট্রিংগুলির একটি NULLনির্ধারিত অ্যারে '\0', যেমন{"a", "b", "c", "17", NULL}

-7 বাইটস @ সিলিংক্যাটকে ধন্যবাদ


0

পার্ল 6 , 31 বাইট

*>>.&{(try $_-1)||chr ord ++$_}

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

বেনামী যাই হোক না কেন ল্যামডা সেই তালিকাটি এবং তা থেকে এক বিয়োগ করতে প্রচেষ্টা প্রতিটি উপাদান মানচিত্র, অন্যথায় এটি বৃদ্ধিশীল এবং কেস যে প্রথম অক্ষরের গ্রহণ zতার বেশি বয়সের জন্য গোপন aa



0

সিম্পিপেম্পলেট, 80 বাইট

এটি আমার তৈরি ভাষায় লেখা হয়েছিল।

সংকলকটিতে সীমাবদ্ধতার কারণে আমি এটিকে আর কমিয়ে আনতে পারি না।

{@eachargv}{@if_ is matches"@\d+@"}{@incby-1_}{@echol_}{@else}{@inc_}{@echol_.0}

এবং এখন, অবারিত:

{@each argv as value}
    {@if value is matches "@\d+@"}
        {@inc by -1 value}
    {@else}
        {@inc by 1 value}
    {@/}
    {@echo value, "\n"}
{@/}

এবং ব্যাখ্যা:

  • {@each argv as value}- সমস্ত মান মধ্যে লুপ argv। ( argvপাস হওয়া সমস্ত আর্গুমেন্ট রয়েছে)।
    যদি as <var>উপস্থিত না থাকে তবে ডিফল্ট _পরিবর্তনশীল ধরে নেওয়া হয়।
  • {@if value is matches "@\d+@"}- valueনিয়মিত প্রকাশের সাথে মেলে এমন চেকগুলি "@\d+@"
  • {@inc by -1 value} - -1 (মূলত, একটি হ্রাস) দ্বারা মান বৃদ্ধি করে।
  • {@echo value, "\n"}এবং {@echol_}-echol পাস করা মানগুলি আউটপুট করে এবং শেষে একটি লাইন সংযোজন করে।
  • {@else} - স্ব-ব্যাখ্যামূলক
  • {@inc by 1 value}- মানটি 1 দ্বারা বৃদ্ধি করে যদি by <value>অনুপস্থিত থাকে তবে এটি 1 হবে বলে ধরে নেওয়া হয়।
  • {@echo value.0, "\n"}এবং {@echol_.0}- echolপাস করা মানগুলি আউটপুট করে এবং শেষে একটি লাইন সংযোজন করে।
    চ্যালেঞ্জ বিধিমালার কারণে এটি প্রয়োজনীয় z wraps to a
    যখন @incস্ট্রিংটিতে একটি ব্যবহার করা হয়, এটি চরগুলি বাড়িয়ে তোলে এবং এটি একবার হিট হয়ে গেলে zএটি মোড়ানো হয় aa
    প্রথম অক্ষর আউটপুটিং চ্যালেঞ্জটি সন্তুষ্ট করে, 7 বাইট ব্যয়ে।
  • {@/}- {@else}উপরের (alচ্ছিক) বন্ধ করে দেয় ।
  • {@/}- {@each}উপরের (alচ্ছিক) বন্ধ করে দেয় ।

আপনি এটি এখানে চেষ্টা করতে পারেন: http://sandbox.onlinephpfunifications.com/code/7533641a0aa1fc8bf4699a9c758690de186b052f

প্রতিটি পাস হওয়া আর্গুমেন্ট render()একটি নতুন মান হিসাবে বিবেচিত হবে।


-1

পার্ল, 64 বাইট

foreach (@ARGV){$_=~m/[a-zA-Z]/?++$_:--$_;print substr $_,0,1;}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.