এটি তৈরি করতে আমার অনেক সময় লেগেছে, প্লিজ। (ইউটিউব মন্তব্য # 1)


84

ধরুন ..... এই ট্রলিং নয়।


পটভূমি

এই দিনগুলিতে ইউটিউবে, মন্তব্য বিভাগগুলি এই ধরণের প্যাটার্ন দ্বারা আবদ্ধ:

S
St
Str
Stri
Strin
String
Strin
Stri
Str
St
S

যেখানে Stringনিছক স্থানধারক এবং কোনও অক্ষরের সংমিশ্রণকে বোঝায়। এই নিদর্শনগুলি সাধারণত একটি It took me a lot of time to make this, pls likeবা অন্য কিছু সহ থাকে এবং প্রায়শই ওপি বেশ কয়েকটি পছন্দ সংগ্রহ করতে সফল হয়।


কাজটি

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

সহজ কথায় বলতে গেলে , আপনার কাজটি একটি স্ট্রিং নেওয়া, বলা sএবং আউটপুট 2*s.length - 1সাবস্ট্রিংগুলি নেওয়া , sএকটি নিউলাইন দ্বারা সীমিত করা হয়, যাতে নিম্নলিখিত প্যাটার্নটি মেনে চলতে হয়:

( s"হ্যালো" এর জন্য)

H
He
Hel
Hell
Hello
Hell
Hel
He
H

ইনপুট

একটি একক স্ট্রিং s। সম্প্রদায়ের ইনপুট ডিফল্ট প্রয়োগ হয়। আপনি ধরে নিতে পারেন যে ইনপুট স্ট্রিংয়ে কেবল প্রিন্টযোগ্য ASCII অক্ষর থাকবে।


আউটপুট

উপরে বর্ণিত হিসাবে একটি উপযুক্ত প্যাটার্ন গঠন করে একটি অনলাইনলাইন দ্বারা পৃথক করা বেশ কয়েকটি লাইন। সম্প্রদায়ের আউটপুট ডিফল্ট প্রয়োগ হয়। শীর্ষস্থানীয় এবং ফাঁকা ফাঁকা (কোনও অক্ষর বা অক্ষর নেই যা কোনও স্থানের মতো দেখা যায় না) আউটপুটটিতে লাইনগুলি অনুমোদিত per


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

একটি বহু-শব্দ পরীক্ষার কেস:

Input => "Oh yeah yeah"

Output =>

O
Oh
Oh 
Oh y
Oh ye
Oh yea
Oh yeah
Oh yeah 
Oh yeah y
Oh yeah ye
Oh yeah yea
Oh yeah yeah
Oh yeah yea
Oh yeah ye
Oh yeah y
Oh yeah 
Oh yeah
Oh yea
Oh ye
Oh y
Oh 
Oh
O

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


বিজয়ী মানদণ্ড

এটি , তাই প্রতিটি ভাষার বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী!


19
আমি ভবিষ্যতে আরও কয়েকটি ইউটিউব মন্তব্য সম্পর্কিত চ্যালেঞ্জগুলি করার পরিকল্পনা করছি; YouTube Comments #1শিরোনামে তাই ।
অর্জুন

1
লাইনের একটি অ্যারে ফিরিয়ে দেওয়া কি অনুমোদিত?
কেউ

2
আমরা কি অক্ষরের অ্যারে হিসাবে ইনপুট নিতে পারি এবং অক্ষরের অ্যারের অ্যারে ফিরিয়ে দিতে পারি?
শেগি


3
ইনপুট হতে পারে ""? একক চরিত্রের মতো "H"কী? যদি তা হয় তবে এই দুটি ক্ষেত্রেই কী আউটপুট হওয়া উচিত?
অ্যাডমবর্কবার্ক

উত্তর:


103

ব্রেনফাক , 32 বাইট

,[[<]>[.>]++++++++++.,[>>]<[-]<]

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

একই লুপটি প্যাটার্নের উভয় অংশের জন্য ব্যবহৃত হয়।

ব্যাখ্যা:

,             Take first input character as initial line
[             Until line to output is empty:
  [<]>        Move to beginning of line
  [.>]        Output all characters in line
  ++++++++++. Output newline
  ,           Input next character
  [>>]        Move two cells right if input character nonzero
  <[-]        Otherwise remove last character in line
  <           Move to new last character in line
]

2
এটা ঠিক প্লেইন দুর্দান্ত। আমি মস্তিস্কে কিছু করার চেষ্টা করছিলাম তবে এটি দীর্ঘ প্রায় 10 বার বেরিয়ে এসেছিল এবং এখনও সঠিকভাবে কাজ করে নি।
এলপেড্রো

34
কখনও ভাবিনি যে আমি এমন একটি চ্যালেঞ্জ দেখতে পাব যেখানে মস্তিষ্কের উত্তরটি প্রতিযোগিতামূলকভাবে দুর্দান্ত কাজ করছে!
প্রশ্ন চিহ্নিত

54

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

f=([c,...r],s=`
`)=>c?s+f(r,s+c)+s:s

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

মন্তব্য

f = (             // f is a recursive function taking:
                  //   the input string split into:
  [c,             //     c   = next character (may be undefined if we've reached the end)
      ...r],      //     r[] = array of remaining characters
  s = `\n`        //   the output string s, initialized to a linefeed
) =>              // 
  c ?             // if c is defined:
    s +           //   append s (top of the ASCII art)
    f(r, s + c) + //   append the result of a recursive call to f, using r[] and s + c
    s             //   append s again (bottom of the ASCII art)
  :               // else:
    s             //   append s just once (this is the final middle row) and stop recursion

3
খুব সুন্দর উত্তর: ডি
লুইস

10
উইন্ডোতে @ মার্টিন বার্কার, আমি নোটপ্যাড ++ ব্যবহার করছি ডিফল্ট লাইন সমাপ্তির সাথে Unix (LF)। সমস্যার সমাধান একবার এবং সবার জন্য for :)
আরনাউল্ড

3
অসাধারণ! যারা জেএসের সম্পূর্ণ নবাগত তাদের জন্য আপনি কি এর জন্য ব্যাখ্যা লিখতে পারেন?
আখয়

3
@ অখয় আমি একটি মন্তব্য করা সংস্করণ যুক্ত করেছি।
আর্নৌল্ড

3
ধন্যবাদ. এখন অনেক পরিষ্কার।
আখয়

47

05 এ বি 1 ই (উত্তরাধিকার) ,  4  3 বাইট

ক্রস আউট &nbsp;4&nbsp;আর 4 :) নেই

η.∊

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

η     # Get the prefixes of the (implicit) input-string
 .∊   # Vertically mirror everything with the last line overlapping
      # (which implicitly joins by newlines in the legacy version of 05AB1E)
      # (and output the result implicitly)

05AB1E এর নতুন সংস্করণে এবং এর »পরে স্পষ্ট হওয়া আবশ্যক η, এজন্য বাইট সংরক্ষণ করতে আমি এখানে 05AB1E এর উত্তরাধিকার সংস্করণটি ব্যবহার করি।


7
হুম, এটি ইউটিএফ 8-তে 6 বাইট বলে মনে হচ্ছে:\xce\xb7\x2e\xe2\x88\x8a
রুবেনভবি

10
ইউটিএফ -8-এ @ রুবেনভ্ব আসলে এটি আরও বেশি। 05 এএবি 1 ই ব্যবহার করে, যেমন কিছু অন্যান্য প্রোগ্রামিং ভাষাগুলির মতো অন্যান্য উত্তরে ব্যবহৃত হয় (যেমন জেলি; জাপট; চারকোল) এটির নিজস্ব উত্স কোড (যা 05AB1E এর ক্ষেত্রে সিপি -1222), যেখানে এটি জানে 256 বর্ণের প্রতিটি একটি একক বাইট
কেভিন ক্রুইজসেন

ঠিক আছে, যথেষ্ট মোটামুটি :)।
রুবেনবিবি

@ কেভিন ক্রুজসেন পিএইচপি মনে হয় যে এই চরিত্রগুলি সিপি -1222 এর জন্য অবৈধ, তবে কেবলমাত্র একটি পিএইচপি বাগ হতে পারে: 3v4l.org/UC1QE
হানশেন্রিক

7
@hanshenrik ভাল প্রশ্ন। এটি প্রকৃতপক্ষে সিপি -১২২২ নয়, তবে প্রকৃতপক্ষে 05AB1E এনকোডিং যা এটি ব্যবহৃত কাস্টম এনকোডিং। হেক্স মধ্যে এই কোড বাইট হয় 08 2e 17, আপনি চালাতে পারেন যা মাধ্যমে যাচাই --osabieপতাকা: tio.run/...
আদনান

21

আইবিএম পিসি ডস, 8088 সমাবেশ,  44  43

d1ee ad8b d6b4 0948 8af8 8ac8 d0e1 49b3 243a cf7d 024e
4e46 861c cd21 861c 52ba 2901 cd21 5ae2 eac3 0d0a 24

unassembled:

    SHR  SI, 1              ; point SI to DOS PSP at 80H (SI intialized at 100H)
    LODSW                   ; load arg length into AL, advance SI to 82H
    MOV  DX, SI             ; save start of string pointer
    MOV  AH, 9              ; DOS API display string function
    DEC  AX                 ; remove leading space from string length
    MOV  BH, AL             ; save string len in BH (AL gets mangled by INT 21H,9)
    MOV  CL, AL             ; set up loop counter in CL
    SHL  CL, 1              ; number of lines = 2 * string length - 1
    DEC  CX
    MOV  BL, '$'            ; end of string marker
LINE_LOOP:
    CMP  CL, BH             ; if CL >= string length, ascend
    JGE  ASCEND
    DEC  SI                 ; descend by backing up two places (always increments)
    DEC  SI                 ; (this is fewer bytes than 'SUB SI, 2' or two branches)
ASCEND:
    INC  SI                 ; increment current string position
    XCHG BL, [SI]           ; swap current string byte with end of string delimiter
    INT  21H                ; write substring to console
    XCHG BL, [SI]           ; restore string byte
    PUSH DX                 ; save output string pointer
    MOV  DX, OFFSET CRLF    ; load CRLF string
    INT  21H                ; write to console
    POP  DX                 ; restore output string pointer
    LOOP LINE_LOOP          ; move to next line
    RET
CRLF DB 0DH,0AH,'$'

ব্যাখ্যা

2 * input length - 1প্রতিটি সারির জন্য লুপ । ডস এপিআই এর স্ট্রিং ডিসপ্লে ফাংশন (INT 21H,9 ) $স্ক্রিনে একটি নিয়ন্ত্রিত স্ট্রিং লিখেছে , তাই প্রতিবার লুপের মাধ্যমে শেষবার প্রদর্শিত হওয়ার পরে অক্ষরটি স্ট্রিং-এর টার্মিনেটরের সাথে সজ্জিত হয়।

লুপের কাউন্টারটি স্ট্রিং দৈর্ঘ্যের সাথে তুলনা করা হয়, এবং যদি এটি বৃহত্তর হয় (আউটপুটটির আরোহণের অংশটি বোঝায়) তবে স্ট্রিং / অদলবদ অবস্থানটি বাড়ানো হয়, অন্যথায় এটি হ্রাস -1-1+1পেয়েছে (আসলে এটি যা if / অন্য শাখা কাঠামোর চেয়ে কম বাইট)।

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

আউটপুট

এখানে চিত্র বর্ণনা লিখুন

YT2.COM (43 বাইট) ডাউনলোড করুন


1
বেশিরভাগ ডস স্বাদে সিওএম ফাইল লোড করার পরে এসআই = 100h থাকে। এটি প্রথম নির্দেশাবলীর সাথে প্রতিস্থাপন করে আপনাকে একটি বাইট সংরক্ষণ করতে পারে SHR SI, 1
গ্যাস্ট্রোপনার

@ গ্যাস্ট্রোপনার খুব চতুর! আসল সন্ধান করে যেভাবেই ডস 1.0 তে চালানো হবে না কারণ এটি সিএইচ 0 হওয়ার গণনা করে (আরম্ভ করতে +2 বাইট লাগবে, যা কেবল ডস 1 এর জন্য উপযুক্ত নয়)। নতুন সংস্করণ দিয়ে আপডেট!
640KB

টার্মিনালটি খোলার সময়টিতে কি আপনাকে তারিখটি প্রবেশ করতে হবে?
ব্যবহারকারী 14492

1
@ ব্যবহারকারী 14492 হ, না! আমি ডস স্ক্রিনশট থেকে এই অংশটি কাটতে ভুলে গেছি!
640 কেবি

19

পাইথন 2 , 60 52 বাইট

f=lambda s,n=1:s[n:]and[s[:n]]+f(s,n+1)+[s[:n]]or[s]

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

পাইথন 3.8 (প্রাক রিলিজ) , 50 বাইট

f=lambda s,n=1:s>(x:=s[:n])and[x,*f(s,n+1),x]or[s]

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


2
এটি কি আসন্ন বৈশিষ্ট্যের উপর নির্ভর করে 3.8? কোন বৈশিষ্ট্য?
অ্যালেক্সিস

7
@alexis এটি একটি ব্যবহার করছে নিয়োগ অভিব্যক্তি : x:=s[:n]
আর্নৌল্ড

1
আহ, আমি এটি এখন দেখছি ধন্যবাদ :-) আমি বৈশিষ্ট্যটি আগে পড়েছি, এটির অপেক্ষায় রয়েছি। এখনও আমার সি দিন থেকে এটি মিস করুন ...
অ্যালেক্সিস

1
এগুলি যদিও আউটপুট প্রিন্ট করে না। তারা ঠিক ঠিক অ্যারে করে?
জাদেন ট্রাভনিক

@ জ্যাডেনট্রাভনিক পাইথন কনসোলের মাধ্যমে ইন্টারেক্টিভভাবে চলতে থাকলে শেষ প্রকাশের ফলাফলটি স্বয়ংক্রিয়ভাবে ডুপস করে দেয়
জেভেরিয়াস


17

জে , 11 বাইট

বেনামে ট্যাসিট প্রিফিক্স ফাংশন। একটি স্পেস প্যাডেড অক্ষর ম্যাট্রিক্স প্রদান করে।

[:(}:,|.)]\

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

]\ উপসর্গের তালিকা

[:() এই তালিকায় নিম্নলিখিত ফাংশন প্রয়োগ করুন

|. বিপরীত তালিকা

, সঙ্গে preend

}: কর্টেলড (শেষ আইটেম ব্যতীত) তালিকা


18
[:(এবং }:,|খুব দু: খিত দেখাচ্ছে ...
অ্যাডাম

তবে এটি (}: যা অভিনব
গোঁফযুক্ত

13

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

{[\~](@_)[0...@_-1...0]}o*.comb

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

নামবিহীন কোড ব্লক যা একটি স্ট্রিং নেয় এবং লাইনের একটি তালিকা প্রদান করে।

ব্যাখ্যা:

{                      }o*.comb   # Pass the list of characters into the codeblock
 [\~](@_)                 # Triangular reduce by concatenation
                          # e.g. The list [1,2,3,4] turns into [1,12,123,1234]
         [0...@_-1        # Return the elements from 0 to length of string minus 1
                  ...0]   # And back down to 0

5
এটা মজার বিষয় যে আজকাল এমনকি গল্ফড পার্ল সর্বাধিক পঠনযোগ্য প্রতিযোগীদের মধ্যে রয়েছে।
কাউন্টার ক্লকওয়াইজ বন্ধ করা বন্ধ করে দিয়েছে

7
@ এসিডেটোটারনকাউটার ক্লকওয়াইস ভাল, এটি পার্ল 6.. পার্ল 5 উত্তরটি এখনও অপঠনযোগ্য
জো কিং

12

জাপট -আর , 4 বাইট

å+ ê

সংক্ষিপ্ত একটি স্ট্রিং হ্রাস।

-১ বাইট @ শ্যাগিকে ধন্যবাদ

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


স্ট্রিংয়ের মধ্যে অন্তর্ভুক্ত থাকতে হবে "-আর" সম্পর্কে সংশয়ী (এটি ছাড়াই আউটপুট কাজ করে না)
ফ্লাইং থান্ডার

3
@ ফ্লাইংথান্ডার আর সংশয়ী হবেন না :) এখানে দেখুন
কুইন্টেক

@ কুইন্টেক, আমি আমার সমাধান শিরোনামের পতাকাগুলি এই মেটা পোস্টের সাথে এই ধরণের মন্তব্যের প্রশ্রয় দেওয়ার চেষ্টা করেছি।
শেগি

1
খুব নিশ্চিত কনভেনশন হ'ল << ভাষা> + -flagবা <ভাষা> -flag। এছাড়াও,: | আমি ভুলে গিয়েছিলাম ক্রমহ্রাস হ্রাস একটি জিনিস, আমি কসম খেয়েছি প্রতিবার আমি যখনই এটি দেখেছি তখন এড়িয়ে গেলাম
এএসসিআইআই-কেবল

@ এএসসিআইআই কেবল একই, আমি কেবল এটির কথা স্মরণ করেছি কারণ আমি ভাবছিলাম যে আমি কীভাবে এপিএলে এটি সমাধান করব এবং বলেছিলাম "আমি ভাবছি যে জ্যাপ্টের এই বিল্টিন রয়েছে কিনা"। এছাড়াও, আমি <ভাষা> ব্যবহার করিনি -flag?
কুইন্টেক 14

11

জাপট -R , 9 7 বাইট

-2 বাইট ধন্যবাদ রোমশ

Êõ@¯XÃê

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



1
@ শেগি ওহ অপেক্ষা ... Ãএকটি জিনিস
এএসসিআইআই

এই প্রশ্নটি অনুদানের জন্য যোগ্য হওয়ার সাথে সাথে আরও 300 টি প্রতিনিধি তার পথে চলেছে।
শেগি


1
@ কুইন্টেক, ক্রমসংক্রান্ত স্ট্রিংগুলিতেও কাজগুলি হ্রাস করে, তাই আপনাকে শুরুতে বিভক্ত হওয়ার দরকার নেই। আমি নিজেও এটি পোস্ট করার পরোয়ানা দেওয়ার পক্ষে যথেষ্ট আলাদা বলেছি।
শেগি


10

Haskell,, 52 50 44 বাইট

f x=unlines$init<>reverse$scanr(\_->init)x x

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


সাইটে স্বাগতম। initsব্যবহার করার জন্য একটি আমদানি প্রয়োজন যাতে আপনাকে যুক্ত করতে import Data.Listবা অনুরূপ কিছু দরকার হয় ।
শ্রুতচিলিজম ও'জাইক

@ শ্রুতচিলিজম ও'জাইক নিশ্চিত ছিল না যে এটি গণনা করা দরকার কি না। যোগ করা হয়েছে, ধন্যবাদ!
জোসেফ সিবল

4
এছাড়াও আমার উল্লেখ করা উচিত আমাদের হাস্কেল গল্ফ করে কথা বলার জন্য একটি চ্যাট রুম আছে । আপনার যদি কোনও চিন্তা বা প্রশ্ন থাকে তবে এটি দুর্দান্ত জায়গা।
শ্রুতচিলিজম ও'জাইক

1
আমি বিশ্বাস করতে পারি না আপনি ঠিক কী পোস্ট করতে চলেছেন তা নিয়ে এসেছেন:import Data.List putStr.unlines.((++)<*>reverse.init).tail.inits
Axman6

9

আর , 79 65 62 58 বাইট

write(substring(s<-scan(,""),1,c(1:(r=nchar(s)),r-1:r)),1)

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

-14 জিউসেপ্পের উচ্চতর ফাংশন জ্ঞান দ্বারা

ক্লিনার সূচক সহ -3

থেকে নিক কেনেডি ও: Giuseppe এর পদক্ষেপ -4 ধন্যবাদ scanএবংwrite

লুপগুলি এড়ানো (এবং substr) দুর্দান্ত।


2
লুপগুলি সম্পূর্ণ অপ্রয়োজনীয়, যেমনটি হয় sapply- substringআপনি যা চান তা করবে (অতিরিক্ত ট্রেলিং খালি লাইন সহ), এবং 65 বাইটের জন্য ! আমি এখানে substringআপনার সুন্দর ব্যবহার না দেখলে আমি অবশ্যই ভাবিনি substr
জিউসেপ

1
হাহাহা, ভাল ধরা! আমি মনে করি যে আমি এডিটের অন্য কোথাও আপনার সম্পাদনা থেকে একই কাজের জন্য বিকল্প ফাংশন সম্পর্কে আরও শিখেছি।
অপরাধে

2
হাহাহা, আর এর সূক্ষ্ম পার্থক্যের সমার্থক শব্দগুলির একটি বোকা পরিমাণ রয়েছে। আমি যখনই মনে করি যে আমি কাজের সেরা হাতিয়ারটি জানি, আমি একটি অদ্ভুত প্রান্তের ক্ষেত্রে আরও কিছু ভাল পাই যা ...
জিউসেপ্পে

3
কীভাবে এটি অনলাইনে চেষ্টা করুন! ব্যবহার scanএবং write? মাত্র 59 বাইট!
নিক কেনেডি

1
58 বাইট @NickKennedy তোমাদের স্থলাভিষিক্ত যদি ""সঙ্গে 1
জিউসেপ

7

জেলি , 5 4 বাইট

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

¹ƤŒḄ

এটি অনলাইন চেষ্টা করুন! আমার মনে হয় এটি আমার দ্বিতীয় জেলি উত্তর? আমি জানি না এটি সর্বোত্তম কিনা। আমি এটি সর্বোত্তম হওয়ার বিষয়ে আরও দৃ am়প্রত্যয়ী। লাইনের একটি অ্যারে প্রদান করে।

ব্যাখ্যা

¹ƤŒḄ     input: "Hi!"
¹Ƥ       prefixes of the input: [["H"], ["H", "i"], ["H", "i", "!"]]
  ŒḄ     bounce, using each array: [["H"], ["H", "i"], ["H", "i", "!"], ["H", "i"], ["H"]]

@ জোনাথান অ্যালান দ্বারা প্রস্তাবিত আরেকটি পদ্ধতি হ'ল ;\ŒḄ, যা ক্রমবর্ধমানভাবে ( \) কনটেন্টেশন ( ;) হ্রাস করে , যা উপসর্গ তৈরির অন্য উপায়।


আমাদের লাইনগুলির একটি অ্যারে উত্পাদনের অনুমতি দেওয়া হয়েছে, যাতে আপনি Yকোডটি বের করে দিতে পারেন (আমি ফুটারটি তৈরি করব ÇYবা ÇŒṘএকটি সম্পূর্ণ প্রোগ্রামের অন্তর্নিহিত মুদ্রণযন্ত্র মুদ্রণ এড়ানোর জন্য)। সাইড-নোটে ;\ŒḄএটি একই বাইট-কাউন্ট হিসাবে সমানভাবে প্রয়োগ করা হয় (এছাড়াও আপনি "blah"জেলি যেমন অক্ষরগুলির তালিকা হিসাবে ব্যাখ্যা করেন তেমনি আপনি তর্কটি পাস করতে পারেন - আপনার আসলে অক্ষরের তালিকাগুলির একটি তালিকা, আপনি দেখতে পাবেন আপনি যদি পাদলেখ তৈরি করেন ÇŒṘ)
জোনাথন অ্যালান

@ জোনাথন অ্যালান ধন্যবাদ! খুব আকর্ষণীয় :)
কনার ও'ব্রায়েন

7

পাইথন 3.8 (প্রাক রিলিজ) , 48 বাইট

lambda s,r='':(l:=[r:=r+c for c in s])+l[-2::-1]

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

ব্যবহার নিয়োগ এক্সপ্রেশন সঙ্গে :=থেকে উপসর্গ একটি তালিকা জমা এবং তারপর আবার (প্রথম গৃহস্থালির কাজ ছাড়া) তার বিপরীত কনক্যাটেনেট করার ফলাফলের সংরক্ষণ করুন।

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

f=lambda s,l=[]:s and f(s[:-1],[s]+l)or l+l[-2::-1]

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

আমাদের প্রায় নীচের সুন্দর 45-বাইট সমাধান রয়েছে, তবে এটির আসল স্ট্রিংটি দু'বার রয়েছে এবং এটি ঠিক করার কোনও ছোট উপায় আমি দেখতে পাচ্ছি না।

f=lambda s,l=[]:s and f(s[:-1],[s]+l+[s])or l

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


পছন্দসই আউটপুট পেতে আপনার কিছু নতুন লাইন এবং মুদ্রণের দরকার নেই?
জাদেন ট্রাভনিক

এরকম কিছু print('\n'.join(f(s))) ?
জাদেন ট্রাভনিক

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

হাহ। ঠিক আছে, এটি নির্দেশ করার জন্য ধন্যবাদ। আমি নতুন ¯_ (ツ) _ / ¯ ¯ যদি মামলাটি না হয়, তবে এখানে প্রতিযোগিতামূলক 45-বাইট সমাধান রয়েছে:x=[s[:i+1]for i in range(len(s))];x+x[-2::-1]
জাদেন ট্রাভনিক

@ যাদেন ট্রাভনিক কোনও সমস্যা নেই, নিয়মগুলি দুর্ভাগ্যক্রমে জায়গাটিতে ছড়িয়ে ছিটিয়ে রয়েছে। আপনার উদাহরণ যদিও একটি স্নিপেট যা অনুমোদিত নয়। এর মতো ইনপুট এবং আউটপুট করা দরকার s=input();x=[s[:i+1]for i in range(len(s))];print x+x[-2::-1]এখানে শীর্ষে উদাহরণগুলি দেখুন ।
xnor

6

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

G^Lθθ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা: একটি ভরাট বহুভুজ আঁকে, ^দিকগুলি নীচে এবং নীচে বাম দিকে নির্দিষ্ট করে (বহুভুজটি স্বয়ংক্রিয়ভাবে স্বয়ংক্রিয়ভাবে নিজেকে বন্ধ করে দেয়), Lθসেই দিকগুলির দৈর্ঘ্য মূল ইনপুটের দৈর্ঘ্য হিসাবে θনির্দিষ্ট করে এবং চূড়ান্তভাবে ফিল স্ট্রিং নির্দিষ্ট করে।


6

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 123 109 94 84 74 বাইট

ধরে নেওয়া যাক আমরা একটি চর অ্যারে অ্যারে ফিরিয়ে দিতে পারি (আমি বিশ্বাস করি যে আমরা পারব, যেমন একটি অক্ষরের অ্যারে একটি স্ট্রিংয়ের জন্য বৈধ উপস্থাপনা এবং স্ট্রিং অ্যারে একাধিক লাইনের বৈধ প্রতিনিধিত্ব)

a=>new int[a.Length*2-1].Select((b,i)=>a.SkipLast(Math.Abs(a.Length-i-1)))

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



5

ব্র্যাচল্যাগ (ভি 2), 6 বাইট

a₀ᶠ⊆.↔

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

ফাংশন জমা, লাইনগুলির একটি অ্যারে ফিরিয়ে দিচ্ছে। আলতো করে @ ফ্যাটালাইজের উত্তরের উপর ভিত্তি করে

ব্যাখ্যা

a₀ᶠ⊆.↔
    .↔  Find a palindrome
   ⊆      that contains, in order,
  ᶠ       all
a₀        prefixes of {the input}

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


5

পাওয়ারশেল, 89 87 66 বাইট

-2 বাইটস @ অ্যাডমবার্কবার্ককে ধন্যবাদ

param($a)0..($d=$a.Length-1)|%{$b+=,-join$a[0..$_]};$b+$b[--$d..0]

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

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


--$dপরিবর্তে আপনি ($d-1)শেষে একটি দম্পতি সংরক্ষণ করতে পারেন ।
অ্যাডমবর্কবার্ক

ধন্যবাদ অ্যাডমবার্কবার্ক
গ্যাব্রিয়েল মিলস

দুঃখের সাথে এটি একক-অক্ষর ইনপুটটির জন্য কাজ করে না।
অ্যাডমবর্কবার্ক

5

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

($l=$args|% t*y|%{($s+=$_);++$i})+$l[$i..0]|gu

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


শক্তির উৎস , 42 বাইট (ইউটিউব বিশেষ, নোংরা)

এটি পরিচিত যে ইউটিউবে একটি মন্তব্যের সর্বোচ্চ দৈর্ঘ্য 10,000 টি অক্ষর। ঠিক আছে, এটিকে উপরের সীমা হিসাবে ব্যবহার করুন।

($l=$args|% t*y|%{($s+=$_)})+$l[1e4..0]|gu

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


4

এপিএল (ডায়ালগ ইউনিকোড) , 9 বাইট এসবিসিএস

বেনামে ট্যাসিট প্রিফিক্স ফাংশন। স্ট্রিংয়ের তালিকা প্রদান করে।

(⊢,1↓⌽),\

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

,\ উপসর্গের তালিকা (লিটল, ক্রমবর্ধমান সংমিশ্রণ)

(...)  এই তালিকায় নিম্নলিখিত ফাংশন প্রয়োগ করুন:

 বিপরীত তালিকা

1↓ প্রথম আইটেম ড্রপ

, শুরুতে যোগ

 অপরিবর্তিত তালিকা



4

জাভাস্ক্রিপ্ট (নোড.জেএস) , 90 বাইট

এটি সম্ভবত দর্শন আরও golfed করা যেতে পারে, Arnauld ইতিমধ্যে একটি উপায় খাটো এক হয়েছে কিন্তু আমি অন্তত মজা ছিল!

s=>{a=[];for(c=s.length-1;c--;)a[c]=s.slice(0,c+1);return[...a,s,...a.reverse()].join`\n`}

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


4

SNOBOL4 (CSNOBOL4) , 118 বাইট

	N =INPUT
	L =1
1	X =LT(X,SIZE(N)) X + 1	:F(D)
O	N ARB . OUTPUT POS(X)	:($L)
D	X =GT(X) X - 1	:F(END)
	L ='D'	:(O)
END

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

SNOBOL এর এই প্রয়োগে একটি ত্রুটি রয়েছে বলে মনে হচ্ছে; লেবেলটির Dসাথে লেবেলটি প্রতিস্থাপনের চেষ্টা করার 2ফলে একটি ত্রুটি ঘটে, যদিও ভ্যানিলা এসএনওবিএল-এর ম্যানুয়ালটি ইঙ্গিত দেয় যে (জোর দেওয়া হয়েছে)

যদি কোনও লেবেল উপস্থিত থাকে তবে এটি অবশ্যই প্রথম লাইনের অক্ষর দিয়ে শুরু করা উচিত। লেবেলগুলি বিবৃতিটির জন্য একটি নাম সরবরাহ করে এবং যে কোনও বিবৃতিতে জিওটিও ক্ষেত্র থেকে নিয়ন্ত্রণ স্থানান্তর করার লক্ষ্য হিসাবে কাজ করে। লেবেলগুলি অবশ্যই একটি অক্ষর বা অঙ্ক দিয়ে শুরু করা উচিত option লেবেল ক্ষেত্রটি ফাঁকা, ট্যাব বা সেমিকোলন অক্ষর দ্বারা সমাপ্ত হয়। যদি কোনও লাইনের প্রথম অক্ষরটি ফাঁকা বা ট্যাব হয় তবে লেবেল ক্ষেত্রটি অনুপস্থিত।

আমার অনুমান যে CSNOBOL দোভাষী কেবল একটি একক লেবেল সমর্থন করে যা একটি পূর্ণসংখ্যা দিয়ে শুরু হয়।


4

এপিএল + উইন, 31 বাইট

স্ট্রিংয়ের ইনপুট জন্য অনুরোধ:

 ⊃((⍳n),1↓⌽⍳n)↑¨(¯1+2×n←⍴s)⍴⊂s←⎕

ব্যাখ্যা:

(¯1+2×n←⍴s)⍴⊂s create a nested vector of the string of length =1+2x length of string

((⍳n),1↓⌽⍳n)↑¨ progressively select elements from each element of the nested vector 
              following the pattern 1  2 ...to n to n-1 ... 1

⊃ convert nested vector into a 2d array.

4

এফ # (.নেট কোর) , 67 61 বাইট

let l=s.Length
[1..l*2-1]|>Seq.map(fun i->s.[..l-abs(i-l)-1])

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

ইনপুট একটি stringএবং আউটপুট একটিseq<string>

আরেকটি সমাধান let f(s:string)=for i=1 to s.Length*2-1 do printfn"%s"s.[..s.Length-abs(i-s.Length)-1]80ish বাইটের জন্য হতে পারে ... আমি নিশ্চিত নই যে এটি অনুসন্ধান করা উপযুক্ত।


4

সেড , 31 35 বাইট

:x
h
s/.\n.*\|.$//
/^$/{x;q}
H
G
bx

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

ব্যাখ্যা

লুপের প্রতিটি পুনরাবৃত্তির শুরুতে, প্যাটার্ন স্পেসটি পছন্দসই আউটপুটটির কিছু "কেন্দ্রীয় অংশ" থাকে এবং প্রতিটি লুপ উপরের এবং নীচে একটি সংক্ষিপ্ত অনুলিপি যুক্ত করে।

:x                 
h                  Copy the current chunk to hold space
s/.\n.*\|.$//      Remove the last letter of the first line, and all other lines (if there are any)
/^$/{x;q}          If pattern space is empty we're done; output hold space
H                  Add the shortened line to the end of hold space
G                  and add the new hold space to pattern space.
bx                 

1
একটি দুর্দান্ত, তবে মাঝের লাইনটি (সম্পূর্ণ আসল ইনপুট) 3 বার আউটপুট বলে মনে হচ্ছে। কমপক্ষে জিএনইউ দিয়ে sed। টিআইও তে একই। আপনি কোন sedবাস্তবায়ন ব্যবহার করেন এবং কীভাবে আপনি এটি ইনপুটটি পাস করেন? ( s/.\n.*\|.$//
বিটিডাব্লু,

2
আহ, আপনি ঠিক বলেছেন। এটি আমার sedবাস্তবায়নে কোনও সমস্যা নয় (জিএনইউ সংস্করণ ৪.২.১ ব্যবহার করে), আমি কেবল ত্রুটিটি লক্ষ্য করিনি। আমি অন্য কয়েকটি ফিক্সের সাথে খেলেছি এবং চারটি বাইটের চেয়ে কম কিছু যুক্ত করার মতো কিছুই খুঁজে পাচ্ছি না তাই আমি আপনার ফিক্সটি গ্রহণ করছি, আপনাকে ধন্যবাদ।
সোফিয়া ল্যাটারের

4

পাইথন 2 , 131 100 84 বাইট

কোড গল্ফে আমার প্রথম উত্তর!

-47৪ শ্রীমৌচিলিজম ও'জাইককে সামগ্রিক ধন্যবাদ বাইটস

a,b=[],len(x)
for i in range(2*b-1):
 if i<b:a+=x[i]
 else:a=a[:-1]
 print''.join(a)

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


1
পিসিজিতে আপনাকে স্বাগতম! ভ্রমণ এবং আচরণবিধি পড়তে ভুলবেন না । ভাল সমাধান!
আকোজি

2
পাইথনের জন্য আপনি ;ইনডেন্টেশন এড়াতে নতুন লাইনের পরিবর্তে গুলি ব্যবহার করতে পারেন । এছাড়াও printএবং এর মধ্যে ফাঁকা স্থানগুলির দরকার নেই''
শ্রুতচিলিজম ও'জাইক

@ শ্রীওচিলিজম ও'জাইক টিপসটির জন্য ধন্যবাদ, সত্যই আমার বাইট গণনা হ্রাস করতে সহায়তা করেছে!
Yoni Matz

2
এবং একটি শেষ কথা, আপনি যদি aতালিকার চেয়ে স্ট্রিং তৈরি করেন তবে আপনার আর প্রয়োজন joinহয় না এবং আপনি ঠিক করতে পারেন print a
শ্রুতচিলিজম ও'জাইক

4
অবৈধ, এটি একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন হওয়া দরকার, আপনি অনুমান করেন যে ইনপুটটি ভিতরে রয়েছে x
ASCII- কেবল

4

জে , 12 বাইট

]\,[:}.@|.]\

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

তবুও অ্যাডামের চেয়ে 1 বাইট বেশি

কে (ওকে) , 12 11 বাইট

-1 বাইট এনএনজি ধন্যবাদ

{x,1_|x}@,\

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


2
আমি কি মাস্টারকে ছাড়িয়েছি
অ্যাডাম

@ অ্যাডাম আমি জে মাস্টার হতে অনেক দূরে আছি :) এখানে অনেক জে কোডার আমার থেকে ভাল।
গ্যালেন ইভানভ

1
: ঠিক আছে জন্য -1 বাইট{x,1_|x}@,\
ngn

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