এবিসি হিসাবে সহজ


28

ইনপুট

একটি স্ট্রিং, যাতে অক্ষর প্রতিটি সর্বাধিক এক ধারণ করে A, Bএবং C। তারা যে কোনও ক্রমে হতে পারে। খালি স্ট্রিংটি বৈধ ইনপুট।

দ্রষ্টব্য: এই চ্যালেঞ্জের পূর্ববর্তী সংস্করণে অক্ষরগুলি LEJপরিবর্তে ব্যবহৃত হয়েছিল ABCএবং তারা চাইলে ব্যবহার করতে পারে।

আউটপুট

একটি স্ট্রিং A, B, Cচিঠি যে ইনপুট উপস্থিত ছিল না। তারা যে কোনও ক্রমে হতে পারে।

যদি আউটপুটটি খালি স্ট্রিং হয় তবে কেবল কোনও আউটপুট দেওয়া বৈধ নয়, যদি এটি আপনার প্রয়োগের জন্য অর্থবোধ করে। (যেমন আপনাকে printখালি স্ট্রিংয়ে আসলে কল করার দরকার নেই ))

উদাহরণ

  • ইনপুট হয় তাহলে Bতারপর আউটপুট পারেন হওয়া উচিত CAবা ACযেহেতু Aএবং Cইনপুট উপস্থিত হয় না।
  • যদি ইনপুটটি খালি স্ট্রিং হয় তবে আউটপুটটি হওয়া উচিত ABCবা কোনও ক্রম ছাড়াই যেহেতু তিনটি অক্ষরের কোনওই ইনপুটটিতে উপস্থিত না থাকে।
  • যদি ইনপুট হয় CABতবে আউটপুটটি খালি স্ট্রিং হওয়া উচিত কারণ তিনটি অক্ষরই ইনপুটটিতে উপস্থিত।

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

এতগুলি ইনপুট কেস রয়েছে যা আমরা সেগুলির সবগুলি গণনা করতে পারি:

in -> out1 | out2 | out3 | ...
ABC -> ""
ACB -> ""
BCA -> ""
BAC -> ""
CAB -> ""
CBA -> ""
AB -> C
AC -> B
BC -> A
BA -> C
CA -> B
CB -> A
A -> BC | CB
B -> CA | AC
C -> AB | BA
"" -> ABC | ACB | BCA | BAC | CAB | CBA

প্রতিটি ইনপুট জন্য সমস্ত বৈধ আউটপুট দেওয়া হয়, এর দ্বারা পৃথক |""খালি স্ট্রিং প্রতিনিধিত্ব করে

স্কোরিং

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী। তবে মনে রাখবেন যে আপনি সংক্ষিপ্ত উপায়ে না হয়ে অনন্য উপায়ে চ্যালেঞ্জটি সমাধান করার জন্য আরও বেশি স্বীকৃতি পেতে পারেন ;)



1
কাজটি একটি ধ্রুবক এবং একটি ইনপুট মধ্যে পার্থক্য সেট করা হয়। সত্যিকারের কাজের অসুবিধার সাথে সমস্ত কিছু স্ট্রিংয়ের মাধ্যমে করা আবশ্যক।
মেগো

2
আমি অস্পষ্টভাবে আরও সঠিক ডুপের ম্যাচটি মনে করি যেখানে আপনাকে ধ্রুবক সেট থেকে ইনপুটটি বিয়োগ করতে হয়েছিল।
xnor

1
ইনপুটগুলিতে "এবিসি" এর বাইরে চিঠিগুলি থাকতে পারে? স্পেসিফিকেশন: "একটি স্ট্রিং যা এ, বি এবং সি এর মধ্যে প্রতিটি বর্ণের সর্বাধিক একটি থাকে" এ জাতীয় ইনপুট বাদ দেয় না।
theonlygusti

1
@ থিওনলিগুস্টি ইনপুটটিতে কেবল এবিসি
ক্যালভিনের

উত্তর:


20

পাইথন 3, 29 27 22 বাইট

lambda x:{*"ABC"}-{*x}

-2 বাইট জোনাথন অ্যালানকে ধন্যবাদ

-5 বাইট রড ধন্যবাদ


print(*{*"LEJ"}-{*input()})2 সংরক্ষণ করে (3.5 এবং 3.6 এ পরীক্ষিত)।
জোনাথন অ্যালান


14
আমি পাইথন ❤️
theonlygusti

@ থিওনলিগাস্টি <3 এবং to এর সাথে যা কিছু ঘটেছে?
wizzwizz4

@theonlygusti: আমি পাইথন চাই যদি আমি সঙ্গে lamda প্রতিস্থাপন করতে পারেন λ
ফাহিম Parkar

10

জেলি , 4 বাইট

জেলি এর অভিধানে "এবিসি" এর পরিবর্তন এবং উপস্থিতি সম্পর্কে উত্সাহের জন্য @ ডেক্টর টেপকে ধন্যবাদ জানাই।

“ḃ»ḟ

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

“ḃ»জেলি এর অভিধানে "এবিসি" এন্ট্রিটি দেখায়, ফাইলারটি বাতিল ডায়াড যা অক্ষরের তালিকা থেকে ইনপুটটিতে পাওয়া অক্ষরগুলি ত্যাগ করে। ফলাফল সুস্পষ্টভাবে মুদ্রিত হয়।


একটি ছোট কেস সংস্করণের জন্য অভিধানের প্রবেশাধিকারটি "অ্যাবাক" ( “c») বা " অ্যাবাকা" ( ) হতে পারে “i»


যখন চ্যালেঞ্জটি "এলইজে" ছিল তখন কেবল উচ্চতর ক্ষেত্রে বৈকল্পিক মাত্র 6 বাইট অর্জন করা যায়, যেহেতু অক্ষরের এই সেটটির সাথে কোনও অভিধানের এন্ট্রি উপস্থিত নেই, অক্ষরগুলির তালিকা তৈরি করতে আমাদের ছেড়ে “LEJ”(বা এটির একটি অনুমান)।

"জেল" ( ) শব্দটির উপস্থিতির কারণে ছোট হাতের অক্ষরটি 5 বাইটে আরও ভাল তৈরি হয় “ẎṄ»


1
আমি পছন্দ করি যে বেশিরভাগ কোড কীভাবে "এবিসি" স্ট্রিং তৈরি করে এবং প্রকৃত প্রোগ্রামটি নিজেই একটি চরিত্র। ক্লাসিক জেলি।
sagiksp

6

বাশ + কোর্টিলস, 15 বাইট

tr -d x$1<<<LEJ

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

আমি বাদ দিতে চাই x, তবে tr -dযখন ইনপুট স্ট্রিংটি খালি ছিল তখন একটি যুক্তি অনুপস্থিত। ( xকোনও ক্ষতি করে না, যেহেতু এখানে স্ট্রিং এলইজে তে কোনও এক্স নেই।) আমি সাধারণত লিখি tr -d "$1", তবে আমি যেভাবে করেছি তা করা তার চেয়ে বাইট সংক্ষিপ্ত।


আমার একই চিন্তা ছিল - এমনকি উদ্ধৃতি সহ - অবিলম্বেও।
রেক্সকোগিটান

6

রেটিনা , 14 বাইট

বাইট গণনাটি আইএসও 8859-1 এনকোডিং ধরেছে।

$
¶ABC
D`.
A1`

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

ব্যাখ্যা

$
¶ABC

সমন্বিত একটি দ্বিতীয় লাইন যুক্ত করুন ABC

D`.

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

A1`

প্রথম লাইনটি বাতিল করুন।


1`অ্যান্টিগ্রাইপ মঞ্চের অংশটি কীভাবে কাজ করে?
ক্রিটসি লিথোস

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

6

05 এ বি 1 ই , 6 4 বাইট

কেভিন ক্রুইজসেনেরžR পরামর্শ অনুসারে নতুন কমান্ডটি ব্যবহার করে 2 বাইট সংরক্ষণ করা হয়েছে

žRsм

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

ব্যাখ্যা

   м  # remove the character of
  s   # the input
žR    # from the string "ABC"

কেবল Jফেরতের ইনপুট কি করা উচিত নয় EL, LE?
ম্যাজিক অক্টোপাস উরন

2
নিস! ঠিক একটি এফওয়াইআই হিসাবে, ইনপুটগুলিও উপস্থাপিত হতে পারে """{input}"""যা খালি স্ট্রিংয়ের জন্যও কাজ করে :)।
আদনান

@ কারাসোকম্পুটিং: এটি ফিরতে পারে (এক্ষেত্রে এটি ফিরে আসে LE)।
এমিগানা


1
@ এমিগনা টিবিএইচ নং আমি মনে করি এটি সম্ভবত এই চ্যালেঞ্জের কারণে যুক্ত হয়েছিল তবে আমি ব্যক্তিগতভাবে এটি আগে ব্যবহার করি নি।
কেভিন ক্রুইজসেন

5

জাভা 7, 73 58 বাইট

String c(String s){return"EJL".replaceAll("[ "+s+"]","");}

15 ক্রিটিক্সিলিথসকে ধন্যবাদ বাইটস সংরক্ষণ করেছে

পরীক্ষার কোড:

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

class M{
  static String c(String s){return"EJL".replaceAll("[ "+s+"]","");}

  public static void main(final String[] a) {
    System.out.print("LEJ=" + c("LEJ") + "; ");
    System.out.print("LJE=" + c("LJE") + "; ");
    System.out.print("EJL=" + c("EJL") + "; ");
    System.out.print("ELJ=" + c("ELJ") + "; ");
    System.out.print("JLE=" + c("JLE") + "; ");
    System.out.print("JEL=" + c("JEL") + "; ");
    System.out.print("LE=" + c("LE") + "; ");
    System.out.print("LJ=" + c("LJ") + "; ");
    System.out.print("EJ=" + c("EJ") + "; ");
    System.out.print("EL=" + c("EL") + "; ");
    System.out.print("JL=" + c("JL") + "; ");
    System.out.print("JE=" + c("JE") + "; ");
    System.out.print("L=" + c("L") + "; ");
    System.out.print("E=" + c("E") + "; ");
    System.out.print("J=" + c("J") + "; ");
    System.out.print("\"\"=" + c(""));
  }
}

আউটপুট:

LEJ=; LJE=; EJL=; ELJ=; JLE=; JEL=; LE=J; LJ=E; EJ=L; EL=J; JL=E; JE=L; L=EJ; E=JL; J=EL; ""=EJL

1
আপনি কি এর "["+s+"]"পরিবর্তে করতে পারেন s.replaceAll("(.)","$1|")?
ক্রিটসি লিথোস

পুনঃটুইট এটি খালি স্ট্রিংয়ের জন্য ব্যর্থ হয় তবে একটি স্থান যুক্ত করে (বা অন্য কোনও চরিত্র যা তা নয় EJL) এটি আবার কাজ করে, যা এখনও অনেক খাটো। :)
কেভিন ক্রুইজসেন


5

পাইথ, 5 বাইট

-"ABC

এটি এখানে পরীক্ষা করুন

প্রসারিত হয়

-"ABC"Q
-       # Filter on absence
 "ABC"  # Literal string 
      Q # Input

abc হিসাবে লেখা যেতে পারে<G3
মাল্টেসেন

@ মালটিসেন হ্যাঁ মুদিফিশ এটি ব্যবহার করেছেন, তবে এটি যাইহোক ছোট = = \
রড

4

এমএটিএল, 10 8 বাইট

স্যুভারকে ধন্যবাদ দুটি বাইট সংরক্ষণ করা হয়েছে। setdiffতুলনায় খাটো ismember

'ABC'iX-

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

ব্যাখ্যা

'ABC'      % Create a string literal
     i     % User input
      X-   % Set difference, between two elements of the stack 

হ্যাঁ, এটি একটি তুচ্ছ কাজ হতে পারে তবে আমি নিজেই এমএটিএল দিয়ে এটিকে সমাধান করতে পেরে আমি যথেষ্ট সন্তুষ্ট। আমি কখনও বলিনি যে এটি সবচেয়ে সংক্ষিপ্ত সমাধান ... ধন্যবাদ সুইভার!


4

জাভাস্ক্রিপ্ট ES6, 41 39 38 বাইট

s=>eval(`'ABC'.replace(/[${s}]/g,'')`)

আরনাউল্ডকে ধন্যবাদ 2 বাইট সংরক্ষণ করা। LarsW ধন্যবাদ 1 বাইট সংরক্ষণ করা।

f=s=>eval(`'ABC'.replace(/[${s}]/g,'')`)

console.log(f("AB"));


আমি মোবাইলে রয়েছি, তাই আমি আমার কোডটি পরীক্ষা করতে পারছি না, তবে এটি আমার মনে হয় কাজ করা উচিত:s=>eval`'ABC'.replace(/[${s}]/g,'')`
LarsW

চমৎকার কাজ! বলতে পারবেন হচ্ছে .join``আপনি সংরক্ষণ সমাধান আমি সঙ্গে আসা পর্যন্ত ছিল দুই অক্ষর: f=s=>"ABC".replace(RegExp(`[${s}]`,'g'),"")
nnnnnn

1
@ লারসডাব্লু যে সঠিক কোডটি কাজ করছে বলে মনে হচ্ছে না, তবে টেম্পলেট স্ট্রিংয়ের চারপাশে বন্ধনী যুক্ত করে একটি বাইট সংরক্ষণ করা হয়েছে। ধন্যবাদ!
টম

3

ভি , 10 বাইট

CLEJ<ESC>Ó[<C-r>"]

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

Hexdump:

00000000: 434c 454a 1bd3 5b12 225d                 CLEJ..[."]

ব্যাখ্যা

ইনফুটটি বাফারের প্রথম লাইনে রয়েছে। সুতরাং যেমন কিছু:

EL

এবং কার্সারটি প্রথম চরিত্রে রয়েছে। সুতরাং আমরা ইনপুটটি মুছে ফেলি (যা এটি রেজিস্টারে সংরক্ষণ করে ") এবং একই সাথে ব্যবহার করে সন্নিবেশ মোড প্রবেশ করি C

একবার সন্নিবেশ মোডে, অক্ষরগুলি LEJসন্নিবেশ করা হয়, এর পরে আমি ব্যবহার করে স্বাভাবিক মোডে ফিরে আসি <ESC>

এখন আমাদের ইনপুটটিতে উপস্থিত সমস্ত অক্ষর মুছে ফেলতে হবে।

Ó                       " remove every
 [<C-r>"]               "  character that appears in the input
                        " synonym of Vim's :s/[<C-r>"]//g

এবং একবার এটি হয়ে গেলে, আমাদের বাফারের বাকী অক্ষরগুলি বাকি রয়েছে।



3

হাস্কেল , 27 26 বাইট

import Data.List
("ABC"\\)

এটি অনলাইন চেষ্টা করুন! ব্যবহার: ("ABC"\\) "CB"ফলন "A"

\\সেট পার্থক্য অপারেটর, প্রথম বন্ধনী একটি তথাকথিত বিভাগ গঠন করে যা লামডার জন্য একটি সংক্ষিপ্ত রূপ (\x -> "ABC" \\ x)


আমদানি ছাড়াই: (একই বাইট গণনা @ নিমিকে ধন্যবাদ)

f x=[c|c<-"ABC",all(/=c)x]

এটি অনলাইন চেষ্টা করুন! ব্যবহার: f "CB"ফলন "A"


অন্যান্য পদ্ধতি:

f x=filter(`notElem`x)"ABC"
(`filter`"ABC").flip notElem
f x=[c|c<-"ABC",notElem c x]

1
আমি আশা করি (\\)শীঘ্রই প্রিলিউডে স্থানান্তরিত হবে।
theonlygusti

@ থিওনলিগুস্টি আশা করি এটি হবে না; এটি তালিকার জন্য সত্যিই বুদ্ধিমান অপারেশন নয় (অন্ততপক্ষে আপনি যদি তালিকা হিসাবে সেট না চান তা স্পষ্টভাবে উল্লেখ না করে)। সেই কাজের জন্য ডিফল্ট অপারেশন হওয়া উচিত Data.Set.difference
পাল্টা

পুনঃটুইট করুন তবুও, আমি কেবল এটিই সরানোর আকাঙ্ক্ষার কারণ এটি প্রায়শই দরকারী।
theonlygusti

1
@ তিওনলিগুস্তি এই অর্থে বোধগম্য নয় যে আপনি যদি নিজেকে এটি ব্যবহার করে দেখতে পান তবে এটি একটি চিহ্ন যা আপনি সম্ভবত ভুল ডেটা কাঠামোটি ব্যবহার করছেন। তালিকায় সদৃশ উপাদান, একটি অর্ডার থাকতে পারে এবং সেগুলি অলসভাবে নির্মিত (এমনকি অসীম) হতে পারে। (\\)এর কিছুই সম্মান করে না এই ধরণের আচরণের উদ্দেশ্যে ডেটা ধরণের একটি কাঠামো রয়েছে যা এগুলিকে সাধারণত কিছুটা কার্যকর, নিরাপদ করে তোলে (কারণ কোনও সম্ভাব্য স্থিতিশীলতা ইত্যাদি অনুমানগুলি ভাঙা যায় না) এবং আরও আরামদায়ক ইন্টারফেস প্রকাশ করে expos
বন্ধ হয়েছে turn

টুইটারে "প্রথম উদাহরণ ..." তবে
এনভিএম

3

জিএনইউ সেড , 34 29 বাইট

এর জন্য +1 অন্তর্ভুক্ত -r

-5 ডিজিটাল ট্রমা ধন্যবাদ

s/^/ABC/
:
s/(.)(.*)\1/\2/
t

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

কোনও কারণে টিআইও বর্ধিত রেজেেক্স ( -r) এর সাথে কাজ করে না , সুতরাং আমাকে এটি বেসে মোড়তে হয়েছিল।


s/^/ABC/        # put ABC at the beginning of the string
:               # nameless label
s/(.)(.*)\1/\2/ # remove a duplicate letter
t               # branch to the nameless label if something changed

নতুন লাইন, -nএবং Pঅপ্রয়োজনীয়। এছাড়াও আপনি এটি টিআইওতে কাজ করতে এটি ব্যাশে গুটিয়ে রাখতে পারেন। কেন -rকাজ হয় না ধারণা । tio.run/nexus/bash#DCXXDYAWDATA/qdIR4JELCjp7F8jooIFCPubb@/…
ডিজিটাল ট্রমা

@ ডিজিটালট্রামা ধন্যবাদ! আমি ভাবছিলাম যে এ, বি এবং সি ছাড়াও চরিত্রগুলি থাকবে।
রিলে

3

ব্রেন-ফ্লাক , 120 + 3 = 123 বাইট

<>((((((((()()){}){}){}){}){}())())())<>{({}(<()>)){(([({})]<>({}))){(<({}<>{})<>([{}]{}<>)>)}{}}{}{}<>{}{({}<>)<>}{}}<>

এটি -cপতাকা সহ সঞ্চালিত হয়, 3 বাইট যোগ করে

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

ব্যাখ্যা

সামগ্রিকভাবে এই প্রোগ্রামটি ডান স্ট্যাকটি মাইনাস থেকে বাম স্ট্যাকটি ডান স্ট্যাকটি আরম্ভ করে CBAএবং বাম স্ট্যাকটি ইনপুটটিতে আরম্ভ করেছে pretty

টীকাবিহীন কোড

<>((((((((()()){}){}){}){}){}())())())<> # Switch to right stack, push CBA, switch back
{({}(<()>)){(([({})]<>({}))){(<({}<>{})<>([{}]{}<>)>)}{}}{}{}<>{}{({}<>)<>}{}}<>

আরও ব্যাখ্যা আসতে হবে ...


2

গণিত, 37 বাইট

Complement@@Characters@{"ABC",#}<>""&

অক্ষরের তালিকার চেয়ে আপনি এখানে স্ট্রিং ব্যবহার করার কি কারণ আছে?
গ্রেগ মার্টিন

@ গ্রেগমার্টিন অভ্যাস, আমি অনুমান করি
মার্টিন এন্ডার

কেবলমাত্র আমি মনে করি আপনি যদি এড়াতে পারেন তবে এটি খাটো হয়ে আসেCharacters
গ্রেগ মার্টিন

2

গাজর , 15 বাইট, প্রতিযোগিতামূলক

ফিরে আসা ম্যাচ এবং খালি স্ট্রিংয়ের সাথে আমি খুঁজে পেয়েছি একটি বাগের কারণে অ-প্রতিদ্বন্দ্বিতা। সুতরাং আমি ঠিক এটি ঠিক করেছি

ABC^//[^#]/gS""

এটি অনলাইন চেষ্টা করুন! (অনুলিপি এবং পেস্ট)

ব্যাখ্যা

ABC^                   //sets stack (just a string, not an array) to "ABC"
    /                  //return match(es) of:
     /[^#]/g           // `#` is the placeholder for the input
                       // so effectively, this returns the matches of any character not present in the input
                       // applied on the stack
                       //this returns an array of all the matches of the regex
            S""        //join all the elements of the array using "", the empty string



2

অক্টাভা, 29 27 বাইট

কলটির 'ABC'অভ্যন্তরে স্ট্রিং তৈরি করে সুইভারকে দুটি বাইট সংরক্ষণ করা ismember

@(s)x(~ismember(x='ABC',s))

আমরা ~ismember()ভেরিয়েবলের জন্য লজিকাল সূচক হিসাবে ব্যবহার করি x। অদ্ভুত বিষয়টি হ'ল আমরা x='ABC' ভিতরে তৈরি করি ismember, এর সামনে নয়। অর্ডার অক্টাভ এটি দেখে:

@(s)                        % Anonymous function that takes a string s as input
                x='ABC'     % Create a variable x with the characters 'ABC'
       ismember(x='ABC',s)  % True for elements that are in both x and s. False otherwise.
      ~ismember(x='ABC',s)  % Negate this, so that we keep the characters that aren't in s
@(s)x(~ismember(x='ABC',s)) % Use the logical vector as indices to x and return the result

2

সি #, 50 বাইট 32 বাইট 47 বাইট 35 বাইট

iইনপুটটি কোথায় :

i=>string.Join("","ABC".Except(i));

লিনকুইপ্যাডে সম্পূর্ণ অ্যাপ পরীক্ষা করা হয়েছে

void Main()
{
    var testcases = new Dictionary<string,string[]>
    {
        ["ABC"] = new[]{""},
        ["ACB"] = new[]{""},
        ["BCA"]  = new[]{""},
        ["BAC"]  = new[]{""},
        ["CAB"]  = new[]{""},
        ["CBA"]  = new[]{""},
        ["AB"] = new[]{"C"},
        ["AC"] = new[]{"B"},
        ["BC"] = new[]{"A"},
        ["BA"] = new[]{"C"},
        ["CA"] = new[]{"B"},
        ["CB"] = new[]{"A"},
        ["A"] = new[]{"BC","CB"},
        ["B"] = new[]{"CA","AC"},
        ["C"] = new[]{"AB","BA"},
        [""] = new[]{"ABC","ACB","BCA","BAC","CAB","CBA"},
    };

    var output = "";

    foreach(var input in testcases.Keys)
    {
        var expect = testcases[input];
        var actual = GetResult(input);
        if(!expect.Contains(actual)) throw new ApplicationException($"{input}:{string.Join(",",expect)}:{actual}");
        output+=$"{input} -> {actual}\n";
    }
    output.Dump();
}

// Define other methods and classes here
private string GetResult(string input){
    return string.Join("","ABC".Except(i));
}

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

এবিসি ->
এসিবি ->
বিসিএ -> বিসি
->
সিএবি ->
সিবিএ ->
এবি -> সি
এসি ->
বিসি -> এ
বিএ -> সি
সিএ -> বি
সিবি -> এ
এ -> বিসি
বি -> এসি
সি -> এবি
-> এবিসি


1
এটি কোনও বৈধ উত্তর নয়, এটি কোনও ফাংশন বা একটি প্রোগ্রাম হতে হবে, কোড স্নিপেট নয়।
theonlygusti

আহ। আমার খারাপ। এখানে প্রথম টাইমার। সুতরাং আমি এটি মুদ্রণ অংশ প্রয়োজন?
মাইকেল কক্সন

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

string.Join("",...)-> string.Concat(...)1 বাইট সংরক্ষণ করে
অজ্ঞতার প্রতিমূর্তি

1

এপিএল, 7 বাইট

'ABC'∘~

~বিয়োগফল সেট করা আছে, এটি রচনা করা হয়, সুতরাং এটি এমন একটি ফাংশন যা এর ইনপুটটিতে ABCবিয়োগচিহ্নগুলি ফেরত দেয়।



1

পার্ল 5.9.9 79 38 37 35 বাইট

perl -le '$_="ABC";eval"y/$ARGV[0]//d";print'

(এখানে গণনার বিধি সম্পর্কে নিশ্চিত নন - এতে সুইচগুলি অন্তর্ভুক্ত রয়েছে তবে পার্ল কমান্ডটি নেই)।

> perl -le '$_="ABC";eval"y/$ARGV[0]//d";print' AB
C
> perl -le '$_="ABC";eval"y/$ARGV[0]//d";print'
ABC

(নীচে বিচারিক মন্তব্যের পরে সামঞ্জস্য গণনা)


খালি ইনপুট জন্য এটি কাজ করবে?
তিতাস

এখন আমি প্রতিলিপি ত্রুটিটি ঠিক করেছি ("" "" টাইপ করেছেন, {,} এখানে ...)
টম ট্যানার

আপনার কোডটি 35 বাইট দীর্ঘ। ( -lপতাকাটির জন্য 34 +1 )। :)
পল পিকার্ড

ধন্যবাদ। -L হ'ল প্রিটিফিকেশন (যেমন আউটপুট শেষে একটি নতুন লাইনে। প্রতিযোগিতার নিয়মগুলি থেকে এটি প্রয়োজনীয় কিনা তা নিশ্চিত ছিল না।
টম ট্যানার

5.14+ দিয়ে আপনি perl -pe'$_=eval"ABC=~y/$_//dr"'কেবল 23 বাইট (22 ​​+ 1 এর জন্য -p) করতে পারেন।
এইসুইটস ব্ল্যাকনট

1

কমন লিস্প, 71 বাইট

এই মুহুর্তে বৃহত্তম এন্ট্রি, তবে কমপক্ষে এটি পঠনযোগ্য ;-)

(lambda(s)(coerce(set-difference'(#\A #\B #\C)(coerce s'list))'string))

1

জাপট , 13 12 বাইট

"ABC"r"[{U}]

ETH প্রোডাকশনগুলিতে একটি বাইট ধন্যবাদ সংরক্ষণ করা।

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


দুর্দান্ত, জাপট ব্যবহারের জন্য ধন্যবাদ! আপনি একটি বাইট সংরক্ষণের জন্য অনুগামী উদ্ধৃতিটি সরাতে পারেন।
ETH প্রোডাকশনস


1

সি, 53 বাইট

b=64;c(char*a){while(b<67)putchar(++b*!strchr(a,b));}

যদি স্ট্রিং। এর অন্তর্নিহিত ঘোষণার অনুমতি না দেওয়া হয়, যোগ করতে 72 বাইট to#include<string.h>

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


বা 75 বাইটে কিছুটা মজাদার কিছু

a[128]={};b=64;c(char*d){while(*d)++a[*d++];while(b<67)putchar(b*!a[++b]);}

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



1

ব্যাচ, 101 বাইট

@set/ps=
@for %%c in (L E J)do @call set d=%%s:%%c=%%&call:c %%c
:c
@if "%d%"=="%s%" set/pd=%1<nul

এসটিডিআইএন-এ ইনপুট নেয়, এর অর্থ কোডটি হেল্পার সাববুটিনের %1মধ্যে পড়ে এবং কোনও কিছুই মুদ্রিত না হয়ে শূন্য থাকে।


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