প্রতিটি ইনপুট চরিত্রের জন্য আপনার প্রোগ্রামে প্রথম অবস্থান আউটপুট করুন


43

চ্যালেঞ্জ

একটি খালি নয় এমন প্রোগ্রাম / ফাংশন লিখুন pযা একটি খালি খালি ইনপুট স্ট্রিং প্রদান করে, এর উত্স কোডের প্রতিটি অক্ষরের প্রথম উপস্থিতিরs অবস্থানকে আউটপুট করে ।sp

উদাহরণস্বরূপ, যদি আপনার প্রোগ্রাম হয়

main() { cout << magic << cin }
^0   ^5   ^10  ^15  ^20  ^25

এবং এটি একটি ইনপুট গ্রহণ করে abcd{, আউটপুট হওয়া উচিত

[1, x, 9, x, 7] (0-based)        [2, x, 10, x, 8] (1-based)

এখানে, xকোনো আউটপুট একটি অক্ষর পদের জন্য একটি বৈধ আউটপুট নয় প্রতিনিধিত্ব করে (যেমন, একটি ঋণাত্মক সংখ্যা, 0আপনি 1 ভিত্তিক ইন্ডেক্স ব্যবহার করেন, NaN, Inf, স্ট্রিং potato, আপনার প্রোগ্রামের দৈর্ঘ্য থেকে বড়, ইত্যাদি)।

বিধিনিষেধ

উত্স কোড পড়ার অনুমতি নেই (যথাযথ কুইনের মতো)। মন্তব্যগুলির ব্যবহারের অনুমতি দেওয়া হয়েছে তবে এটি আপনার স্কোরকে গণনা করে।

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


আপনার কোডে কাস্টম কোড-পৃষ্ঠা বা প্রিন্টযোগ্য অ্যাস্কি?

যদি আপনার ভাষা কোনও কাস্টম কোড পৃষ্ঠা ব্যবহার করে (জেলি, এপিএল, ইত্যাদি), আপনাকে অবশ্যই এটি অ্যাকাউন্টে নিতে হবে (সুতরাং কোনও প্রোগ্রাম €æÆঅবশ্যই [1, x, 2]একটি ইনপুট আউটপুট দেয় €%æ)। আউটপুটে -1সর্বদা কেবলমাত্র ASCII অক্ষর ব্যবহার করা (যেহেতু ইনপুট কেবল ASCII- কেবল) কোনও বৈধ সমাধান নয়। আপনি ধরে নিতে পারেন যে আপনার প্রোগ্রামটি স্থানীয়ভাবে আপনার কাস্টম কোডপেজ গ্রহণ করে, অর্থাত্, যদি আপনার প্রোগ্রামটিতে একটি অক্ষরকে Aএকটি পূর্ণসংখ্যার 65(ASCII এনকোডিং) রূপান্তর করার পদ্ধতি থাকে তবে আপনি ধরে নিতে পারেন যে এটি এখন আপনার কোডপেজের 65 তম অক্ষরকে রূপান্তর করে 65


নিম্নলিখিত চ্যালেঞ্জের দ্বারা অনুপ্রাণিত: অবস্থানিক সচেতনতা


মূলধন কি ব্যাপার?
ক্রিটিকি লিথোস


@ ক্রিতিক্সিলিথোস এটি সত্যই করে।
Sanchises

যদি আমার প্রোগ্রামটি কেবল সূচকগুলি 0 থেকে 9 ব্যবহার করে তবে আমার কি পৃথককারী প্রয়োজন বা আমি আউটপুট, যেমন 01030708070?
ডেনিস

@ ডেনিস না, আপনি করবেন না। এটি দ্ব্যর্থহীন, ধারাবাহিক এবং মানব-পঠনযোগ্য। পৃথককারী প্রয়োজন চ্যালেঞ্জের মধ্যে আকর্ষণীয় কিছু যোগ করবে না, তাই সব উপায়ে আপনার লো বাইট গণনা আপত্তিজনক। ;)
সংঘবদ্ধ

উত্তর:


24

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

a=" )dfi(+m,nprut.';";print map(('a="'+a).find,input())

স্ট্রিং দিয়ে শুরু হয় যা কোডে ব্যবহৃত সমস্ত অক্ষর ধারণ করে এবং তারপরে সূচীগুলি অনুসন্ধান করে


5
আমি দেখতে পাই না যে এটি কেমন বিরক্তিকর উত্তর। আমি মনে করি স্ট্যান্ডার্ড কুইন ব্যবহার করা এর চেয়ে অনেক কম আকর্ষণীয়। :)
মার্টিন এন্ডার

যেহেতু এটি পাইথন 2, তাই বেশিরভাগ ইনপুটগুলিতে এই ব্রেক হবে না ?. যদি এটি বিরতি দেয় তবে আপনাকে ব্যবহার করতে হবে raw_input
টিডবি

@ টিডিবি হুম, আমার ধারণা নেই? আপনি কি ইনপুট মনে আছে?
রড

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

12

Lenguage , 56.623 বাইট

নীচে প্রথম 256 বাইটের হেক্সডাম্প দেওয়া আছে। বাকী বাইটগুলি ইচ্ছামত বেছে নেওয়া যেতে পারে।

0000000: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f  ................
0000010: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f  ................
0000020: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f   !"#$%&'()*+,-./
0000030: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f  0123456789:;<=>?
0000040: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f  @ABCDEFGHIJKLMNO
0000050: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f  PQRSTUVWXYZ[\]^_
0000060: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f  `abcdefghijklmno
0000070: 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f  pqrstuvwxyz{|}~.
0000080: 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f  ................
0000090: 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f  ................
00000a0: a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af  ................
00000b0: b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf  ................
00000c0: c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf  ................
00000d0: d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df  ................
00000e0: e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef  ................
00000f0: f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff  ................

আউটপুট বাইটে রয়েছে, ব্রেইনফাক এট আল রীতি হিসাবে।

কিভাবে এটা কাজ করে

এটি একটি সাধারণ বিড়াল প্রোগ্রাম, বিশেষত ,[.,]

উত্স কোডটিতে 256 বাইট মানগুলি ক্রমযুক্ত রয়েছে, সুতরাং এতে প্রতিটি বাইটের সূচক তার মানটির সাথে মেলে।


4
হুম আমি মনে করি লেংগুয়েজই একমাত্র ভাষা যেখানে লোকেরা তিনটি আকারের ক্রম দ্বারা ছড়িয়ে পড়ে ...
সানচাইসেস

2
দৈর্ঘ্য হ'ল একমাত্র ভাষা যা নিয়মিত প্রতারণার উপায় খুঁজে পায় যা অন্য ভাষাগুলিতে দূরবর্তী প্রতিযোগিতামূলকও না। : পি
ডেনিস

+[,.]অনেক ভাল স্কোর করতে না ?
সাংসাইসিস

@ স্যাঁচাইজস যা প্রায় 12,000 বাইট সাশ্রয় করতে পারে তবে এটি শেষে একটি নাল বাইটও প্রিন্ট করবে।
ডেনিস

2
ঠিক আছে, আমি মনে করি নাল বাইটটি ইনপুটটিতে রয়েছে (যদিও এটি ফাংশনটি স্ট্রিংটি সমাপ্ত করে), এবং আপনার প্রোগ্রামের 0 তম অবস্থানে থাকবে ...;)
সানচাইসেস

10

Lenguage , 1.22e7 বাইট

12263215 NULবাইট সমন্বয়ে গঠিত (হেক্স 0x00)

উত্সটিতে NULউপস্থিত না হওয়া প্রতিটি চরিত্রের জন্য একটি ফলাফল আউটপুট করে।

ব্যবহারের উপায়টি হ'ল ইনপুটটিতে কখনই একটি থাকে না NUL, তাই আমরা সর্বদা ইনপুটটিতে NULঅক্ষর রয়েছে এমন পরিমাণের পরিমাণ আউটপুট করি ।

এটি নিম্নলিখিত ব্রেইনফাক প্রোগ্রামে অনুবাদ করে

,[[-].,]

এবং একটি ব্রেকডাউন সহ ...

,[[-].,]
,[    ,]    #Basic Input loop.
  [-]       #Zero out the cell.
     .      #Print it (A NUL).

এটি কেবল গল্ফের ভাষা হিসাবে লেঙ্গুজের নিখুঁত শক্তি দেখায়। এটা ভয়।


2
এই ধরণের চালাক ব্যবহার, আপনি প্রায় জিতেছেন ... আপনি কি বিপরীতটিও চেষ্টা করেছেন, অর্থাৎ 0x00 বাইট এবং 1-ইনডেক্সিং?
সানচিইস

আমি পছন্দ করতাম, তবে ব্রেইনফাক / লেংগুয়েজ (বা আমি যে দোভাষীর ব্যবহার করছি) ইওএফ এবং 0x00 এর মধ্যে পার্থক্য করতে পারে না, তাই আমি আসলে চ্যালেঞ্জটির উত্তর দিতে পারব না।
এটাকো

ব্রেইনফাক এট আল। সাধারণত বাইট হিসাবে পূর্ণসংখ্যার মুদ্রণ করার অনুমতি দেওয়া হয়, যেমন আপনি 1 এর জন্য এসওএইচ, 0 এর জন্য NUL প্রিন্ট করবেন
ডেনিস

@ সাঞ্চাইজস আপনি কি নিশ্চিত করতে পারছেন যে এখানেই ঘটনাটি ঘটেছে?
ডেনিস

1
,[>.,]খাটো হবে না ?
জো কিং

8

জেলি , 10 9 বাইট

“ṾiЀƓv”v

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

কিভাবে এটা কাজ করে

“ṾiЀƓv”v  Main link. No arguments.

“ṾiЀƓv”   Set the left argument and the return value to s := 'ṾiЀƓv'.
        v  Execute the string s as a monadic Jelly program with argument s.

 Ṿ         Uneval; yield a string representation of s, i.e., r := '“ṾiЀƓv”'.
     Ɠ     Read one line from STDIN and evaluate it like Python would.
  iЀ      Find the index of each character in the input in r.
      v    Eval the list of indices as a monadic Jelly program with argument s.
           Why?
             This is the shortest way to add the character 'v' to the string s,
             meaning that we can use r without having to append anything.
           What?
             The v atom vectorizes at depth 1 for its left argument, meaning that
             it acts on arrays of numbers and/or characters. When fed an array of
             integers, it first converts them to strings, then concatenates the
             strings and evaluates them as a Jelly program. For example, the array
             [1, 2, 3] gets cast to the string '123', then evaluates, yielding 123.
             Something slightly different happens if the array starts with a 0. For
             example, the array [0, 1, 2] gets cast to '012' just as before, but
             Jelly views '0' and '12' as two separate tokens; numeric literals
             cannot start with a 0. Since the Jelly program is monadic, the first
             token – '0' – sets the return value to 0. Since the second token –
             '12' – is also a niladic link, the previous return value is printed
             before changing the return value to 12. Then, the program finishes
             and the last return value is printed implicitly.

8

pbrain, 402 356 340 338 329 বাইট

[(:<>)+,-.](>>>>>>)+([-]<<[->+>+<<]>>[-<<+>>]>>[-<+<+>>]<[->+<]<[-<->]<)+([-]+++++++[>+++++++++++++<-]>)+([-]+++++[>++++++++<-]>)+(-:<+++[->++++++<]>)+(-:++)+(-:++)+(----:+)+(-:++)+(-:+)+(-:+)+(-:+)+([-]++:++)+([>[->+>+<<]>>[-<<+>>]<:>>+:[[-]>+<]>-[<<<<[-.>]>>>>>>+>>>>>]<<[-]<<+<-]>>>)[-]>>>>>>>,[<<<<<<++<+++++++++++++:>>>>>>,]

ভাই, ক্রিটিক্সিলিথোস এবং আমি এই নিয়ে 4 দিন ধরে কাজ করছি।

0x00ইনপুট চর প্রোগ্রামে না থাকলে প্রিন্ট করে , অন্যথায় চেরের সূচী (1-ভিত্তিক)। এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

[(:<>)+,-.]
All chars listed here; like other submissions 
(>>>>>>)
@KritixiLithos added this part; I don't know what it does but saves the program
+([-]<<[->+>+<<]>>[-<<+>>]>>[-<+<+>>]<[->+<]<[-<->]<)
Comparison ;calculates z=x!=y and puts it in between x and y
Start; X _ _ _ Y
           ^
End;   X Z _ _ Y
         ^
+([-]+++++++[>+++++++++++++<-]>)
Function to add 91 to the tape
+([-]+++++[>++++++++<-]>)
Function to add 40 to the tape
+(-:<+++[->++++++<]>)
Function to add 58 to the tape
+(-:++)
Function to add 60 to the tape
+(-:++)
Function to add 62 to the tape
+(----:+)
Function to add 41 to the tape
+(-:++)
Function to add 43 to the tape
+(-:+)
Function to add 44 to the tape
+(-:+)
Function to add 45 to the tape
+(-:+)
Function to add 46 to the tape
+([-]++:++)
Function to add 93 to the tape
+([>[->+>+<<]>>[-<<+>>]<:>>+:[[-]>+<]>-[<‌​<<<[-.>]>>>>>>+>>>>>]<<[-]<<+<-]>>>)

এই শেষ ফাংশন লুপ হয়। এটি [(:<>)+,-.]ক্রমে নির্বাচিত অক্ষরগুলির মধ্য দিয়ে লুপ করে এবং অক্ষরের সাথে ইনপুটটির তুলনা করে। এখন আমি এই লুপটি কীভাবে কাজ করে তার একটি গভীর ব্যাখ্যা দিতে যাচ্ছি।

12-n n+2 _ n+2: _ _ _ i _ _ _ _ _ _;  n=loop counter
                  ^                ;  i=input

লুপে থাকাকালীন স্ট্যাকটি দেখতে এমন দেখাচ্ছে। লুপ পর্যন্ত চালানো হবে 12-nঅর্থাৎ 0। তারপরে আমাদের কাছে কাউন্টারটি রয়েছে n+2। এই কাউন্টারটি নির্বাচিত প্রতিটি চরিত্রের জন্য ফাংশনের সংখ্যাও। সুতরাং যখন n=0, n+2প্রথম অক্ষর, অর্থাত্ সংশ্লিষ্ট করা হবে না [>[->+>+<<]>>[-<<+>>]<:এটি কেবল তাই করে, এটি কাউন্টারকে চরিত্রে রূপান্তর করে।

একবার যখন পয়েন্টারটি ক্যারেট হয়, তখন আমরা কাউন্টার ভেরিয়েবল থেকে উত্পাদিত অক্ষরটিকে সংরক্ষণের সময় ইনপুটটির সাথে তুলনা করব।

12-n n+2 _ n+2: Z _ _ i _ _ _ _ _ _;  n=loop counter
                ^                  ;  i=input

Zহয় 0যখন চরিত্র ইনপুট, অথবা অন্য কোনো নন-জিরো পূর্ণসংখ্যা অন্যথায় সমান।

এই সমতাটি যাচাই করার জন্য আমরা এখন একটি বিবৃতি দিয়ে হাজির করি।

[[-]>+<]

যদি Zশূন্য-না হয়, অর্থাত্ চরিত্র এবং ইনপুট একই না হয় তবে আমরা পরবর্তী মেমরির স্থানটি বাড়িয়ে দেব।

আমরা যদি এই-বিবৃতিটি থেকে বেরিয়ে আসার পরে, পরবর্তী মেমরির স্থানটি হ্রাস করি। এখন এই মেমরি জায়গা রয়েছে !Z। অবশেষে এটি ব্যবহার করে, আমরা অক্ষরের সূচি আউটপুট করি যদি এটি ইনপুটটির সাথে মেলে এবং তারপরে জোর করে লুপটি প্রস্থান করে। অন্যথায়, লুপটি শেষ না হওয়া বা কোনও ম্যাচ না পাওয়া পর্যন্ত আমরা চালিয়ে যাচ্ছি।

[-]>>>>>>>
Clears first byte; goes to position to start program
,[<<<<<<++<+++++++++++++:>>>>>>,]
Loops inputs


6

জাভাস্ক্রিপ্ট, 34 বাইট

f=a=>a.map(v=>('f='+f).indexOf(v))

এটা তোলে স্ট্রিং অ্যারে হিসাবে ইনপুট নেয়, xহয় -1(0 ভিত্তিক ইন্ডেক্স)।


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

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

s='s=%s;print s%%s';print s%sপাইথনে করানোর চেয়ে এটি অন্যরকম বলে আমি মনে করি না । এটি এতে অন্তর্ভুক্ত নয় f=, সুতরাং এটি ঠিক আছে
mbomb007

1
আপনি সত্যিই এটি করতে পারবেন না, কারণ ইনপুটটি aস্ট্রিং হওয়ার কথা। mapস্ট্রিংগুলির জন্য কোনও ফাংশন নেই ।
মানোথেম্যাট

@ ম্যানথেমেট "আপনি ধরে নিতে পারেন যে ইনপুটটি একটি স্ট্রিং (বা অ্যারে)"
LarsW


5

রুবি, 41 88 86 71 69 67 61 56 বাইট

a='p$<.chrs{| #index};"';$<.chars{|c|p"a='#{a}".index c}

থেক্স এক্স লিন x বাইট মারার জন্য


1
a='p$<.chrsm{| #index};"';p$<.chars.map{|c|"a='#{a}".index c}STDIN থেকে ইনপুট নিয়েও খুব কাজ করা উচিত।
লিন

4

> <> (ফিশ) 70 বাইট

 #.0+4*a5;!?l|!?f4*b+l1--naolc3*1+0.01?!|~ed+0.0+2e-{:;!?+1:i-1:r}+2:"

সম্ভবত আমি দীর্ঘতম> <> 1 টি লাইন তৈরি করেছি।

এটি পৃথক লাইনে পাওয়া প্রতিটি অক্ষরের আউটপুট মুদ্রণ করবে (0 সূচীকৃত)

একটি পাওয়া যায় না এমন অক্ষর সর্বদা কোডের দৈর্ঘ্য প্রিন্ট করবে + 1 (এটি বর্তমান অবস্থায় ঠিক না বলে মনে হলে আমি এটি পরিবর্তন করতে পারি) সুতরাং এক্ষেত্রে 71 সর্বদা "পাওয়া যায় না" অক্ষর হিসাবে থাকবে।

সময় পেলেই আমি একটি ব্যাখ্যা দিয়ে যাব।

কিছু পরীক্ষার কেস;

## কে = 1 \ n1 \ n71

# "# = 1 \ n69 \ n1

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

> <> ভাষা


আমি মনে করি যে 71 খুঁজে পাওয়া যায় নি আউটপুট হিসাবে ভাল। এটি ধারাবাহিক, দ্ব্যর্থহীন এবং মানব-পঠনযোগ্য, যা আমি মনে করি এটি "... কোনও আউটপুট যা ইতিবাচক পূর্ণসংখ্যার নয়" হওয়ার চেয়ে গুরুত্বপূর্ণ। এই সিদ্ধান্তটি প্রতিবিম্বিত করার জন্য আমি বিধিগুলি প্রসারিত করেছি।
Sanchises

3

পার্ল 6 , 50 52 বাইট

{(('R~.index$_) for}\\'R~'{((\'').index($_) for $_)}

এর অনুবাদ গিগাবাইট এর রুবি সমাধান এবং রড এর পাইথন সমাধান

একটি ল্যাম্বডা যা অক্ষরের একটি তালিকা প্রবেশ করে এবং শূন্য-ভিত্তিক সূচকের তালিকা ( Nilঅস্তিত্বহীন অক্ষরের জন্য) আউটপুট দেয় ।

সম্পাদনা: একটি তদারকি স্থির করে - 2 বাইট যোগ করা প্রয়োজন :(


3

ক্লোজার, 43 56 48 বাইট

সম্পাদনা: অভিশাপ আমি ভুলে গেছি 2! 43 থেকে 56 এ বৃদ্ধি পেয়েছে।

সম্পাদনা 2: এই পাঠ্যের নীচের নমুনা কোডটি আপডেট করেছে, অন্তর্ভুক্ত না করার জন্য বাইটগুলির সংখ্যা আপডেট করেছে (def f ...) তবে কেবল হ্যাশ-মানচিত্রের অংশ।

{\{ 0\\   1\  3\0   4\1 10\3 14\4 20\2 34 \} 43}

হ্যাশ-ম্যাপে কেবলমাত্র অক্ষর থাকে 01234{\\}এবং এটি তাদের অবস্থানগুলি এনকোড করে। ক্লোজুরে হ্যাশ-ম্যাপগুলি ফাংশন ব্যবহার করা যেতে পারে, যেমন এই সম্পূর্ণ উদাহরণে দেখানো হয়েছে ( fহ্যাশ-ম্যাপের সংজ্ঞা দ্বারা প্রতিস্থাপন করা যেতে পারে):

; Keeping track of the zero-based index:
;      00000000001111111111222222222233333333334444444444
;      01234567890123456789012345678901234567890123456789
(def f {\{ 0\\   1\  3\0   4\1 10\3 14\4 20\2 34 \} 43})

(map f "0123456789{} \\abcdef") ; (4 10 34 14 20 nil nil nil nil nil 0 43 3 1 nil nil nil nil nil nil)
(apply str (keys f))            ; " 01234{\\}"

আমি এই গণনা অনুমান :)


2

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

p=s=>[...s].map(c=>`p=${p}`.indexOf(c))

console.log( p('mapP') )


1
আপনি [...s]দয়া করে ব্যাখ্যা করতে পারেন ?
এরেসেন

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

2
উত্স কোড পড়ার অনুমতি নেই
আর্নৌল্ড

2

পাইথ, 11 বাইট

xL_+N"N+_Lx

একটি প্রোগ্রাম যা "quoted string"স্ট্রিংয়ের কোনও উদ্ধৃতি সহ পূর্ববর্তী সহ পালিয়ে যায় এবং উত্সে নেই এমন অক্ষরের \সাথে শূন্য-সূচকযুক্ত মানগুলির তালিকা মুদ্রণ -1করে।

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

কিভাবে এটা কাজ করে

xL_+N"N+_Lx    Program. Input: Q
xL_+N"N+_Lx"Q  Implicit quote closure and implicit input
     "N+_Lx"   Yield the string "N+_Lx"
   +N          Prepend a quote
  _            Reverse
 L          Q  Map over Q:
x               Yield the index of the character in the string
               Implicitly print

2

05 এ বি 1 , 19 বাইট

"'ìsvDyk,"'"ìsvDyk,

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

অনুপস্থিত অক্ষরের জায়গায় এই আউটপুটগুলি -1।


লুইস মেন্ডো গল্ফে এটি পোস্ট করেছেন (কিছুটা সংশোধন করেছেন) আপনাকে দুর্দান্ত উপকারের জন্য! , সেই কুইনে "এস" এবং "কে" যুক্ত করলে এই উত্তরের ফলাফলও পাওয়া যায়। যাইহোক, আমি এই সংশোধনীটির তুচ্ছটির জন্য কৃতিত্ব নিতে পারি না ... লুইস, আপনি যদি এটি পুনরায় পোস্ট করতে চান তবে আপনি আমাকে বার্তা দিতে পারেন এবং আমি এটি মুছে ফেলব। আপনি যদি এই প্রশ্নটি সন্ধানের আগে আমার অগ্রগতি দেখতে চান তবে সম্পাদনাগুলি দেখুন। ভাল ... এটি এক পর্যায়ে উল্লেখযোগ্যভাবে তার মত ছিল


@ সাঞ্চাইজস আমার পক্ষে কাজ করে!
ম্যাজিক অক্টোপাস উরান

শীতল শীতল!
সাংসাইসেস

@ ম্যাজিক অ্যাক্টোপাস ইউরান ভাল হয়েছে !!
লুইস মেন্ডো

2

স্মাইলব্যাসিক, 128 96 88 86 বাইট

?R<3+CD,4LINPUT(S$)WHILE""<S$?INSTR("?R<3+CD,4LINPUT(S$)WHILE"+CHR$(34),SHIFT(S$))WEND

একটি গুরুত্বপূর্ণ জিনিসটি উপলব্ধি করতে হবে যে এটি সত্যই কোনও চ্যালেঞ্জ নয়। আপনার কেবলমাত্র শেষ অনন্য অক্ষর পর্যন্ত উত্স কোডের প্রয়োজন ।

আমি কোডের শুরুতে প্রতিটি চরিত্রের কমপক্ষে 1 ?R<3+CD,4LINPUT(S$)WHILE"রেখেছি : সুতরাং আমাকে কেবল প্রথম উদ্ধৃতি চিহ্ন পর্যন্ত প্রোগ্রামটির একটি অনুলিপি সংরক্ষণ করতে হবে।


1

পাইথন, 90 88 বাইট

a,b,d=" ()+.7:[]efilmnor","a,b,d=\"",lambda e:[[b.find(d),a.find(d)+7][d in a]for d in e]

পরীক্ষা ক্ষেত্রে:

print(d("a,b(]q"))
#[0, 1, 2, 8, 15, -1]

1

স্ট্যাকড , নন-কেপটিং, 36 বাইট

যখন আমি বলেছিলাম যে এই ভাষাটি এখনও বিকাশে রয়েছে, আমি এটি বোঝাতে চাইছিলাম। স্পষ্টতই, promptপুরো স্ট্যাকটি গ্রাস করতে ব্যবহৃত হয়। এই কারণেই আমার ভাল জিনিস থাকতে পারে না। এখানে চেষ্টা করুন!

[tostr ':!' + prompt CS index out]:!

এটি স্ট্যান্ডার্ড কুইন ফ্রেমওয়ার্ক। মূলত, স্ট্যাকের :ফাংশনটিকে নকল করে [...], যা এরপরে কার্যকর করা হয় !। তারপরে, [...]স্ট্যাকের সাথে ফাংশনটি সহ কার্যকর করা হয়। এটি এটিকে একটি স্ট্রিংয়ে ফেলে, সংযোজন :!(প্রোগ্রাম নিজেই), তারপরে স্ট্রিং ইনপুট নেয় promptCSএটি একটি অক্ষরের স্ট্রিংয়ে রূপান্তর করে। একটি অক্ষর স্ট্রিং একটি নিয়মিত স্ট্রিং থেকে কিছুটা আলাদা যে এতে অপারেটররা তার উপর ভেক্টরাইজ থাকে। এই ক্ষেত্রে, indexইনপুটটির উপর ভেক্টরাইজ করে, প্রোগ্রামটিতে প্রতিটি ইনপুট স্ট্রিংয়ের সূচক দেয়, অবশেষে outবসানো হয়।

ইনপুট জন্য Hello, World!, এটি দেয়:

(-1 27 -1 -1 2 -1 6 -1 2 5 -1 26 9)

আমি একটি কুইন ছাড়াই এটি ব্যবহার করার চেষ্টা করেছি (অর্থাত্ আপনার উত্সে উপস্থিত অক্ষরের স্ট্রিংটি এনকোডিং করা), তবে স্ট্যাকডে কেবলমাত্র এক প্রকারের উদ্ধৃতি চিহ্ন রয়েছে ', সুতরাং, এই ধরণের সমাধানটি করা আরও দীর্ঘতর হবে।


1

হুশ , 12 বাইট

m€`:'""m€`:'

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

ব্যাখ্যা

ব্যাখ্যাটি ¨স্ট্রিংগুলি 'সীমিত করতে এবং অক্ষরগুলি সীমিত করতে ব্যবহার করছে :

m€`:'""m€`:'  -- implicit input, for example: ¨m"a1`¨
      "m€`:'  -- string literal: ¨m€`:'¨
  `:'"        -- append character '"': ¨m€`:'"¨
m             -- map function over each character (example with 'a'):
 €            -- | index of first occurrence (1-indexed): 0
              -- : [1,6,0,0,3]

1

জাভা 8, 172 122 বাইট

a->{/*.indexOf(c)+\" ;}orh:Systmup*/for(char c:a)System.out.print("a->{/*.indexOf(c)+\\\" ;}orh:Systmup".indexOf(c)+" ");}

0-ইনডেক্সড এবং এমন -1অক্ষরগুলির জন্য দেয় যা উত্স কোডের অংশ নয়।

ব্যাখ্যা:

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

a->{                         // Method with character-array parameter and no return-type
  /*.indexOf(c)+\" ;}orh:Systmup*/
                             //  Comment containing the remaining characters of the code
  for(char c:a)              //  Loop over the input-array
    System.out.print(        //   Print:
      "a->{/*.indexOf(c)+\\\" ;}orh:Systmup"
                             //    String containing all the characters used in the code
      .indexOf(c)+" ");}     //    Print the index of the char, plus a space as delimiter

1

জে , 31 22 বাইট

11|1+i.~&'11|1+i.~&'''

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

কোডে উপস্থিত না এমন অক্ষরগুলির জন্য 1-ইনডেক্সড, 0। ''একক উদ্ধৃতি মানে। স্ট্রিংয়ের প্রতিটি অক্ষর সন্ধান করুন 11|1+i.~&', 1 যুক্ত করুন, মডিউল 11 যুক্ত করুন।



1

পার্ল 5 সঙ্গে -pl, 43 বাইট

-1প্রোগ্রামে উপস্থিত না হওয়া অক্ষরগুলির জন্য নিউলাইন পৃথক ইনপুট এবং মুদ্রণ ব্যবহার করে।

$s=q{$_=index"\$s=q{$s};eval\$s",$_};eval$s

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


@ স্যাঁচাইজিস এখনই স্থির, সে সম্পর্কে দুঃখিত। স্পষ্টভাবে সঠিকভাবে পড়েনি!
ডম

সমস্যা নেই. এই চ্যালেঞ্জের মধ্যে কিছু নতুন জীবন আনার জন্য ধন্যবাদ!
সানাইচাইজ

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