এটা ভাগ কর. কিন্তু সব না!


11

এই স্ট্যাক ওভারফ্লো প্রশ্ন দ্বারা অনুপ্রাণিত ।

ইনপুট:

আমরা তিনটি ইনপুট নেব:

  • Dবিভক্ত করার জন্য একটি সীমানা-চরিত্র
  • Iদুটি চরিত্রের মধ্যে একটি চরিত্র যার মধ্যে আমরা সীমানা বর্ণকে উপেক্ষা করি (আমি জানি, এটি অস্পষ্ট মনে হচ্ছে, তবে আমি নীচে এটি ব্যাখ্যা করব)
  • একটি স্ট্রিং S

আউটপুট:

বিভাজনের পরে সাবস্ট্রিংগুলি সহ একটি তালিকা / অ্যারে।

উদাহরণ:

Input:
D = ','
I = '"'
S = '11020199,"Abc ",aduz,,444,bieb,dc,2 ,2222.00,whatever 5dc,222.22,22.00,"98,00","12,000,000",21-09-2018, 06:00,",-,"'

Output:
['11020199', 'Abc ', 'aduz', '', '444', 'bieb', 'dc', '2 ', '2222.00', 'whatever 5dc', '222.22', '22.00', '98,00', '12,000,000', '21-09-2018', ' 06:00', ',-,']

কেন? কমা উপর বিভাজন স্বাভাবিকভাবে এছাড়াও বিভক্ত হবে 98,00, 12,000,000এবং ,-,দুই / তিন টুকরো। তবে সেগুলি Iইনপুট চরিত্রের মধ্যে রয়েছে বলে আমরা এখানে বিভাজনকে উপেক্ষা করি।

চ্যালেঞ্জ নিয়ম:

  • আপনি ধরে নিতে পারেন Iইনপুট-স্ট্রিংটিতে সর্বদা অক্ষরের পরিমাণ সমান হবে।
  • আপনি ধরে নিতে পারেন চরিত্রটির Iসর্বদা Dএটির পাশে থাকবে (এটি ইনপুটটির প্রথম বা শেষ অক্ষরটি বাদে) যা এখনও সঠিকভাবে বিভক্ত হতে পারে। সুতরাং আপনার মতো কিছু থাকবে না D = ','; I = '"'; S = 'a,b"c,d"e,f', এর মতো কিছুই হবে না D=','; I='"'; S='a",b,"c'
  • ইনপুট-স্ট্রিংয়ের Sমধ্যে একটিও Dবা একটিও থাকতে পারে I। যদি এটি না থাকে তবে Dআমরা কেবলমাত্র আইটেম হিসাবে সম্পূর্ণ ইনপুট-স্ট্রিং সহ একটি তালিকা আউটপুট করি।
  • আউটপুট তালিকায় Iআর কোনও অক্ষর থাকবে না, এমনকি এতে কোনও উপস্থিতি নেই D(যেমন আপনি উপরের উদাহরণে "Abc "রূপান্তরিত করতে পারেন 'Abc ')।
  • এটি সম্ভব যে এর মধ্যে থাকা স্ট্রিংগুলিতে Iকেবল এটি রয়েছে D। উদাহরণস্বরূপ: D = ','; I = '"'; S = 'a,",",b,"c","d,e,,",f'ফলাফল হবে ['a', ',', 'b', 'c', 'd,e,,', 'f']
  • আপনি ধরে নিতে পারেন যে Dকখনই শুরু বা শেষের দিকে Sহবে না, তাই আপনাকে খালি আইটেমগুলি অনুসরণ / অগ্রাহ্য করার সাথে মোকাবেলা করতে হবে না।
  • যখন কোনও ইনপুটটির দুটি সংলগ্ন থাকে D, তখন আমাদের একটি খালি আইটেম থাকবে। অর্থাৎ D = ','; I = '"'; S = 'a,"b,c",d,,e,"",f'ফলাফল হবে ['a', 'b,c', 'd', '', 'e', '', 'f']
  • আপনি ইনপুটগুলি ধরে নিতে পারেন এবং আউটপুটগুলিতে কেবল পরিসরের মুদ্রণযোগ্য ASCII থাকবে [32, 126](সুতরাং ট্যাব এবং নিউলাইনগুলি বাদ দিয়ে)।
  • আপনাকে তালিকা / অ্যারে আউটপুট / আউটপুট করার পরিবর্তে সমস্ত আইটেমকে নতুন লাইন সীমিত আউটপুট করার অনুমতি দেওয়া হয় (বিশেষত সেই ভাষাগুলির মধ্যে যাদের তালিকা / অ্যারে নেই; যেমন রেটিনা) ie
  • বাইটগুলি সংরক্ষণ করে যদি আপনাকে তালিকাটি বিপরীত ক্রমে আউটপুট করার অনুমতি দেওয়া হয়। যদিও আপনাকে এটিকে সাজানো বা 'বদলানো' ক্রমে আউটপুট দেওয়ার অনুমতি নেই। সুতরাং D = ','; I = 'n'; S = 'a,2,b,3,c'হিসাবে আউটপুট হতে পারে [a,2,b,3,c]বা [c,3,b,2,a], কিন্তু না [2,3,a,b,c,]বা [a,3,b,c,2]উদাহরণস্বরূপ।

সপ্তাহের দিন:

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

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

Input:
D = ','; I = '"'; S = 'a,"b,c",d,,e,"",f'
Output:
['a', 'b,c', 'd', '', 'e', '', 'f']

Input:
D = ','; I = '"'; S = '11020199,"Abc ",aduz,,444,bieb,dc,2 ,2222.00,whatever 5dc,222.22,22.00,"98,00","12,000,000",21-09-2018, 06:00,",-,"'
Output:
['11020199', 'Abc ', 'aduz', '', '444', 'bieb', 'dc', '2 ', '2222.00', 'whatever 5dc', '222.22', '22.00', '98,00', '12,000,000', '21-09-2018', ' 06:00', ',-,']

Input:
D = ' '; I = ','; S = 'this is a test , to see if you understand it, or not , hmmm, I think I have too many commas , or not , perhaps..'
Output:
['this', 'is', 'a', 'test', ' to see if you understand it', 'or', 'not', ' hmmm', 'I', 'think', 'I', 'have', 'too', 'many', 'commas', ' or not ', 'perhaps..']

Input:
D = 'x'; I = 'y'; S = 'contains no lowercase X nor Y'
Output:
['contains no lowercase X nor Y']

Input:
D = '1'; I = '3'; S = '3589841973169139975105820974944592078316406286208948254211370679314'
Output: ['58984197', '69', '9975105820974944592078', '64062862089482542', '', '70679', '4']

Input:
D = ' '; I = 'S'; S = 'regular split on spaces'
Output:
['regular', 'split', 'on', 'spaces']

বর্তমান উত্তরগুলির বেশিরভাগ (বা সমস্ত?) পরীক্ষার মামলার শুরু এবং শেষে খালি আইটেম থাকে না do এটি কি বিশেষ ঘটনা, বা পরীক্ষাগুলিতে কোনও ত্রুটি? ( "", "'ll remove all ", "")
টিফিল্ড

@ টিফিল্ড এটি একটি বিশেষ ক্ষেত্রে। প্রায় সমস্ত উত্তরগুলি ব্যর্থ হয়েছে D = ','; I = '"'; S = ',"a,b",c,,d,""'কেবলমাত্র আমি লক্ষ্য করেছি। আমি চ্যালেঞ্জটিকে কিছুটা সংশোধন করব তাই খালি আইটেম শুরু বা শেষের দিকে সম্ভব হবে না। অতীতে জাভা এবং 05AB1E উভয়ের অভিজ্ঞতার ভিত্তিতে, আমি জানি যে বিভাজনের পরে খালি আইটেমগুলি হ'ল হতাশাজনক হতে পারে যখন ভাষা ডিফল্টরূপে এটি সঠিকভাবে না করে man এর মতো পরীক্ষার ক্ষেত্রে এখনও সমর্থন করা উচিত: between এর মধ্যে একটি খালি আইটেম সহ D = ','; I = '"'; S = 'a,"b,c",d,,e['a', 'b,c', 'd', '', 'e']
কেভিন ক্রুইজসেন

চূড়ান্ত আউটপুট ইনপুটটির ক্রম বজায় রাখা দরকার কি? যেমন'1,"2,3"' -> ['2,3','1']
কামিল দ্রাকারী

1
কমিলড্রাকারি হুম, আমি এটিকে সামনের দিকে এবং পিছনে উভয়ই অনুমতি দেওয়ার জন্য একটি বিধি যুক্ত করব, তবে এলোমেলো নয়। সুতরাং [a,b,c]এবং [c,b,a]অনুমোদিত আউটপুট, কিন্তু উদাহরণস্বরূপ [a,c,b]বা [b,a,c]না।
কেভিন ক্রুইজসেন

এর ফলাফল কী হবে D=','; I='"'; S='a",b,"c'বা এটি একটি বৈধ ইনপুটও হতে পারে?
Zgarb

উত্তর:


3

জাপট , 16 বাইট

qV mÏu ?X:XrWRÃq

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

মূলত ডিএলসকের নতুন পাইপ উত্তরের মতো একই কৌশল, "উদ্ধৃত" বিভাগগুলি আলাদা করে রাখে তারপরে বাকী স্ট্রিংয়ে ডিলিমিটারকে একটি নতুন লাইন দিয়ে প্রতিস্থাপন করে, ফলস্বরূপ একটি নিউলাইন সীমিত আউটপুট তৈরি করে

সম্পূর্ণ ব্যাখ্যা:

qV                  Split on I
   m          Ã     For each segment:
    Ïu ?              If the segment has an odd index (quoted)...
        X             Keep it as-is
         :          Otherwise:
          XrWR        Replace each D in the segment with a newline
               q    Join it all to a single string

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


আমি মাত্র কিছু বাইট সংরক্ষণ করেছি ডি এর পরিবর্তে নিউলাইনের সাথে কোটগুলির বাইরে এবং নিউলাইনে বিভক্ত হয়ে, এরপরে শেষে ডি'র সাথে নিউলাইনটি প্রতিস্থাপনের প্রয়োজনীয়তা সরিয়েছি। এটি কি আপনার কোডও ছোট করতে পারে?
DLosc

@ ডিএলকাস, পরামর্শের জন্য ধন্যবাদ! এখনই একটি নতুন সংস্করণে রাখা
কামিল দ্রাকারী

8

আর , 34 বাইট

নিয়মিত অপরিবর্তিত scanজন্য উপযুক্ত আর্গুমেন্ট সহ text, sepএবং quoteএটা করতে হবে।

function(D,I,S)scan(,t=S,"",,,D,I)

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


2
যথারীতি, আর স্ট্রিং বিভক্ত চ্যালেঞ্জগুলির পথে এগিয়ে চলেছে।
এনজিএম

2
কাজের জন্য সঠিক ভাষা সম্পর্কে কথা বলুন। :) কয়েকটি পরীক্ষার কেস যাচাই করা হয়েছে এবং এগুলি সব ঠিকঠাক বলে মনে হচ্ছে, সুতরাং আমার কাছ থেকে +1 করুন। পিএস: মেটা অনুযায়ী কোনও চলকটিতে এটি সংরক্ষণ করে ইনপুট নেওয়া অনুমোদিত নয়।
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুইজসেন আমি কি scan4 টি বাইট জমা দিতে পারি এবং তারপরে উপযুক্ত জায়গাগুলিতে যুক্তি দিয়ে কল করতে পারি?
জে.ডো

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

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

7

সি (জিসিসি) , 64 বাইট

c;f(d,i,s)char*s;{for(;*s;s++)*s==i?c=!c:putchar(d-*s|c?*s:10);}

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

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

(d,i,s)=>s.replace(c=/./g,e=>i==e?(c^=1,''):d!=e|c?e:`
`)

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


1
আপনার সি উত্তর কাজ করে মহান, কিন্তু আপনার জাতীয় উত্তর এখনও বিভক্ত বলে মনে হয় Dমধ্যে Iসেইসাথে রয়েছে Iআউটপুট, যা আপনার Tio লিংক প্রথম পরীক্ষার বিষয় দেখা যায় না। (পিএস: এগুলি আপনার সি উত্তরের একটি বন্দর উল্লেখ করে একটি লিঙ্ক সহ পৃথক উত্তর হিসাবে পোস্ট করা আরও ভাল))
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুজসেন স্থির সাধারণত আমি একই রকম উত্তরগুলি একসাথে পোস্ট করি এবং কেবল এটির বন্দর বলে অন্যের কাজ থেকে হয়
l4m2


4

পিপ , 18 বাইট

FxcxQb?!:oOo?xRanx

কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয়। এটি অনলাইন চেষ্টা করুন!

সম্পূর্ণ ভিন্ন পদ্ধতির: স্ট্রিংয়ের একটি অক্ষরটি একবারে প্রক্রিয়া করুন এবং আকাঙ্ক্ষিত ফলাফলগুলিকে নিউলাইন-সীমিত করে আউটপুট করুন।

কিভাবে?

                    a,b,c are cmdline args (respectively representing D,I,S); o is 1;
                    n is newline (implicit)
                    We use o for a flag indicating whether or not to change D into newline
Fxc                 For each character x in c:
   xQb?              If x equals b (the ignore character),
       !:o            Logically negate o in-place
          O          Else, output the following (with no trailing newline):
           o?         If o is truthy,
             xRan      x, with a (the delimiter) replaced with newline
                 x    Else, x unchanged

4

এমএটিএল , 24 বাইট

y=Yso~yi=*~*cO10Zt2G[]Zt

ইনপুট হয় S, I, D

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

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

ইনপুট বিবেচনা করুন D = ','; I = '"'; S = 'a,"b,c",d,,e,"",f'

y     % Implicit inputs: S, I. Duplicate from below
      % STACK: 'a,"b,c",d,,e,"",f', '"', 'a,"b,c",d,,e,"",f'
=     % Is equal? Element-wise
      % STACK: 'a,"b,c",d,,e,"",f', [0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0]
Ys    % Cumulative sum
      % STACK: 'a,"b,c",d,,e,"",f', [0 0 1 1 1 1 2 2 2 2 2 2 2 3 4 4 4]
o~    % Parity, negate
      % STACK: 'a,"b,c",d,,e,"",f', [1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1]
y     % Duplicate from below
      % STACK: 'a,"b,c",d,,e,"",f', [1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1], 'a,"b,c",d,,e,"",f'
i=    % Input: D. Is equal? Element-wise
      % STACK: 'a,"b,c",d,,e,"",f', [1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1], [0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0]
*~    % Multiply, negate (equivalent to NAND). Element-wise
      % STACK: 'a,"b,c",d,,e,"",f', [1 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1]
*     % Multiply, element-wise. Characters are converted to ASCII code
      % STACK: [97 0 34 98 44 99 34 0 100 0 0 101 0 34 34 0 102]
c     % Convert to char (character 0 is shown here as '·')
      % STACK: 'a·"b,c"·d··e·""·f'
O10   % Push 0 and then 10
      % STACK: 'a·"b,c"·d··e·""·f', 0, 10
Zt    % Replace character 0 by character 10 (newline; shown here as '¶')
      % STACK: 'a¶"b,c"¶d¶¶e¶""¶f'
2G[]  % Push second input (I) and then [] (empty array)
      % STACK: 'a¶"b,c"¶d¶¶e¶""¶f', '"', []
Zt    % Replace character given by input I by empty; that is, remove it. Implicit display
      % STACK: 'a¶b,c¶d¶¶e¶¶f'

3

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

L$`(?=.*¶(.)¶(.))(\2(.*?)\2|(.*?))(\1|¶)
$4$5

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

(?=.*¶(.)¶(.))(\2(.*?)\2|(.*?))(\1|¶)

নিম্নলিখিত দুটি লাইনের মান Dএবং সন্ধানের জন্য এগিয়ে দেখুন I। তারপরে, আমরা যদি Iএটির সন্ধান করি তবে এটি খান এবং পরবর্তীগুলির সাথে অক্ষরগুলি মেলে Iএবং Dঅন্যথায় কেবল অক্ষরের সাথে পরবর্তী Dবা লাইনের শেষের সাথে মেলে ।

L$`
$4$5

তালিকা প্রতিটি ম্যাচ থেকে 4 এবং 5 টি ক্যাপচার করে; 4 হ'ল দুটি Is এর মধ্যে ক্যাপচার এবং 5 টি হ'ল দুটি Dএর মধ্যে ক্যাপচার ।


3

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

param($d,$i,$s)$s-split{(1-($script:a+=$i-ceq$_)%2)*($d-ceq$_)}|% *m $i

কম গল্ফ পরীক্ষা স্ক্রিপ্ট:

$f = {

param($d,$i,$s)
$s-split{
    $script:a+=$i-ceq$_
    (1-$a%2)-and($d-ceq$_)
}|% Trim $i

}

@(
    ,(',','"',
    '',
    '')

    ,(',','"',
    'a,"b,c",d,,e,"",f',
    'a', 'b,c', 'd', '', 'e', '', 'f')

    ,(',','"',
    '11020199,"Abc ",aduz,,444,bieb,dc,2 ,2222.00,whatever 5dc,222.22,22.00,"98,00","12,000,000",21-09-2018, 06:00,",-,"',
    '11020199', 'Abc ', 'aduz', '', '444', 'bieb', 'dc', '2 ', '2222.00', 'whatever 5dc', '222.22', '22.00', '98,00', '12,000,000', '21-09-2018', ' 06:00', ',-,')

    ,(' ',',',
    'this is a test , to see if you understand it, or not , hmmm, I think I have too many commas , or not , perhaps..',
    'this', 'is', 'a', 'test', ' to see if you understand it', 'or', 'not', ' hmmm', 'I', 'think', 'I', 'have', 'too', 'many', 'commas', ' or not ', 'perhaps..')

    ,('x','y',
    'contains no lowercase X nor Y',
    'contains no lowercase X nor Y')

    ,('1','3',
    '3589841973169139975105820974944592078316406286208948254211370679314',
    '58984197', '69', '9975105820974944592078', '64062862089482542', '', '70679', '4')

    ,(' ','S',
    'regular split on spaces',
    'regular', 'split', 'on', 'spaces')

) | % {
    $d,$i,$s,$expected = $_
    $result = &$f $d $i $s
    "$("$result"-eq"$expected"): $result"
}

আউটপুট:

True:
True: a b,c d  e  f
True: 11020199 Abc  aduz  444 bieb dc 2  2222.00 whatever 5dc 222.22 22.00 98,00 12,000,000 21-09-2018  06:00 ,-,
True: this is a test  to see if you understand it or not  hmmm I think I have too many commas  or not  perhaps..
True: contains no lowercase X nor Y
True: 58984197 69 9975105820974944592078 64062862089482542  70679 4
True: regular split on spaces

ব্যাখ্যা:


2

SNOBOL4 (CSNOBOL4) , 109 বাইট

	D =INPUT
	I =INPUT
	S =INPUT
S	S (I ARB . OUTPUT I | ARB . OUTPUT) (D | RPOS(0)) REM . S	DIFFER(S)	:S(S)
END

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

ধরা যাক D =','এবং I ='"'। তারপর প্যাটার্ন (I ARB . OUTPUT I | ARB . OUTPUT) (D | RPOS(0))স্ট্রিং যে মত চেহারা মিলে যায় ".*"বা .*দ্বারা পারেন অনুসৃত ,বা স্ট্রিং সালের শেষ নাগাদ, এবং আউটপুট নির্বিচারে ( .*) অক্ষর, এর অপ্রতিম বাকি সেটিং Sএবং তাই যতদিন iterating Sখালি না থাকে।


2

পিপ -n , 29 24 বাইট

cR Xa[na]@(bN{$`})^n||:b

কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয়। এটি অনলাইন চেষ্টা করুন!

কৌশল: বাইরের Iজোড়া, Dনতুন লাইনের সাথে প্রতিস্থাপন করুন (যেহেতু আমাদের গ্যারান্টিযুক্ত যে নিউলাইনগুলি স্ট্রিংটিতে উপস্থিত হবে না)। তারপরে নিউলাইন এবং স্ট্রিপে বিভক্ত করুন I


2

জেলি ,  20  18 বাইট

;`j⁵œṣ⁴œṣḊṖYʋ€Ðo³Y

একটি পূর্ণ তিন আর্গুমেন্ট গ্রহণ প্রোগ্রাম D, I, Sএকটি লাইনে প্রতিটি আইটেমের ছাপে পারে।

এটি অনলাইন চেষ্টা করুন! (পাদলেখগুলি নতুন লাইনের সাথে যোগ দেয়)

কিভাবে?

Dপ্রতিটি পাশ দিয়ে বাড়তি অতিরিক্ত , Iএস-এ বিভক্ত করুন, বিজোড়-সূচকযুক্ত আইটেমগুলি Dএস এ বিভক্ত করুন তারপর তাদের মাথা এবং লেজগুলি সরিয়ে নতুন লাইনের সাথে যুক্ত করুন, শেষ পর্যন্ত নতুন লাইনের সাথে ফলাফলটিতে যোগ দিন।


1
আমি মনে করি তালিকার আউটপুট (কোনও তালিকা ফেরত দেওয়ার বিপরীতে) কোনওভাবেই সীমিত করা দরকার, সুতরাং আপনি 1 টি বলতে পারবেন যে এটি আদৌ একটি তালিকা এবং 2) যেখানে একটি আইটেম শেষ হয় এবং অন্যটি শুরু হয়। ( এটির ব্যাক আপ করার জন্য আমার কাছে একটি নির্দিষ্ট মেটা পোস্ট নেই, তবে পর্যবেক্ষণযোগ্য নয় এমন আচরণের উপর আলোচনার সাথে একটি নির্দিষ্ট সম্পর্ক রয়েছে Right এখনই, এটি লক্ষ্য করা যায় না যে আপনার প্রোগ্রামটি স্ট্রিংয়ের পরিবর্তে একটি তালিকা তৈরি করে। )
DLosc

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


@ জোনাথান অ্যালান আপনার 20-বাইট সমাধান উদ্দিষ্ট হিসাবে কাজ করে তবে মন্তব্যে আপনার 17-বাইটার কিছু ভুল ফলাফল দিয়েছে বলে মনে হচ্ছে
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুইজসেন - হ্যাঁ, মোবাইল গল্ফ ভাল নয়, আমি অদ্ভুত-সূচক আইটেমগুলির জন্য নিউলাইনগুলি দ্বারা যোগদানের হাতছাড়া করেছি, ১৮ টি পোস্ট করেছে।
জোনাথন অ্যালান

2

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

function q($D,$I,$S){return str_getcsv($S,$D,$I);}

এটি অনলাইন চেষ্টা করুন! একটি অন্তর্নির্মিত ফাংশন ব্যবহার করে

যদি ইনপুটগুলিকে পুনরায় সাজানোর অনুমতি দেওয়া হয় ( (S,D,I)সুতরাং এটি str_getcsvস্বাক্ষরের সাথে মেলে ) তবে আমার কাছে 44 বাইট সংস্করণ রয়েছে


1
আমি বিশ্বাস করি যে যতক্ষণ আপনি অর্ডারটি নির্দিষ্ট করেন ততক্ষণ পুনরায় সাজানো ইনপুট অনুমোদিত। এটা পরিষ্কার, আপনি ভেরিয়েবল ব্যবহার করতে পারেন করা $S, $Dএবং $I0 বাইটের ব্যয়ে, এই 50 বাইট দীর্ঘ সংস্করণ জন্য।
ইসমাইল মিগুয়েল

এছাড়াও, 50 সংস্করণ বাইট, সঙ্গে $S, $D, $Iভেরিয়েবল আর্গুমেন্ট আদেশের জন্য একটি নির্দেশিকা হিসেবে পরিবেশন করা যেতে পারে।
ইসমাইল মিগুয়েল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.