এই স্ট্যাক ওভারফ্লো প্রশ্ন দ্বারা অনুপ্রাণিত ।
ইনপুট:
আমরা তিনটি ইনপুট নেব:
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']
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']
[a,b,c]এবং [c,b,a]অনুমোদিত আউটপুট, কিন্তু উদাহরণস্বরূপ [a,c,b]বা [b,a,c]না।
D=','; I='"'; S='a",b,"c'বা এটি একটি বৈধ ইনপুটও হতে পারে?
"", "'ll remove all ", "")