আপনি যখন একটি প্রোগ্রাম থেকে অন্য প্রোগ্রামে সংখ্যার (ভেক্টর, অ্যারে ...) একটি তালিকা কপি-পেস্ট করতে চান তখন কি এটাকে ঘৃণা করবেন না, তবে যে ফর্ম্যাটটিতে আপনার সংখ্যা রয়েছে সেটির সাথে আপনার প্রয়োজনীয় বিন্যাসটির সাথে মেলে না ?
উদাহরণস্বরূপ, ম্যাটল্যাব-এ আপনার মতো একটি স্থান পৃথক তালিকা থাকতে পারে:
[1 2 3 4 5] (you can also have it comma separated, but that's not the point)
পাইথনে আপনাকে সেই তালিকাটিকে বৈধ ইনপুট তৈরি করতে কমা প্রবেশ করতে হবে, সুতরাং আপনাকে এটিকে রূপান্তর করতে হবে
[1, 2, 3, 4, 5]
এটা কাজ করতে. সি ++ এ আপনি এর মতো কিছু চাইবেন:
{16,2,77,29}
ইত্যাদি।
প্রত্যেকের জীবনকে সহজ করার জন্য, আসুন একটি তালিকা রূপান্তরকারী তৈরি করুন, এটি যে কোনও ফরমেটে * একটি তালিকা নেয় এবং অন্য নির্দিষ্ট ফর্ম্যাটে একটি তালিকা আউটপুট দেয়।
বৈধ বন্ধনীগুলি হ'ল:
[list]
{list}
(list)
<list>
list (no surrounding brackets)
বৈধ ডিলিমিটারগুলি হ'ল:
a,b,c
a;b;c
a b c
a, b, c <-- Several spaces. Must only be supported as input.
a; b; c <-- Several spaces. Must only be supported as input.
a b c <-- Several spaces. Must only be supported as input.
দ্রষ্টব্য, ইনপুটটিতে সংখ্যার মধ্যে যে কোনও স্পেস থাকতে পারে, তবে আউটপুটে শূন্যস্থান (যদি ,
বা ;
সীমানা হিসাবে ব্যবহৃত হয়), বা একটি একক স্থান (যদি এটি স্থান-সীমিত থাকে) থাকতে পারে।
ইনপুট তালিকার পাশাপাশি, একটি স্ট্রিং (বা দুটি অক্ষর) থাকবে যা আউটপুট ফর্ম্যাটটি সংজ্ঞায়িত করে। বিন্যাস স্ট্রিং প্রথমে উদ্বোধনী বন্ধনী টাইপ হতে হবে (শুধুমাত্র), [
, (
, <
, {
বা (শেষ এক একটি একক সময় ব্যবহৃত কোন পার্শ্ববর্তী বন্ধনী হয় স্থান)। বন্ধনী টাইপ ডিলিমিটার ধরণ
,
, ;
বা (সর্বশেষে একক স্থান) অনুসরণ করবে। দুটি ইনপুট ফর্ম্যাট অক্ষরকে উপরে বর্ণিত ক্রমে একক যুক্তি (স্ট্রিং বা পরপর দুটি অক্ষর) হিসাবে গ্রহণ করতে হবে।
বিন্যাসের স্ট্রিংগুলির কয়েকটি উদাহরণ:
[, <-- Output format: [a,b,c]
{; <-- Output format: {a;b;c}
<-- Two spaces, output list has format: a b c
নিয়মাবলী:
- আউটপুটে নেতৃস্থানীয় স্পেস থাকতে পারে না
- আউটপুটটিতে পেছনের স্থান এবং একটি নতুন লাইন থাকতে পারে
- আউটপুট শুধুমাত্র সংখ্যার তালিকা হওয়া উচিত , না
ans =
বা অনুরূপ
- আউটপুট শুধুমাত্র সংখ্যার তালিকা হওয়া উচিত , না
- ইনপুটটি পূর্ণসংখ্যা বা দশমিক সংখ্যার (দুটি ধনাত্মক এবং নেতিবাচক (এবং শূন্য)) এবং দুটি অক্ষরের একটি স্ট্রিং হবে
- যদি ইনপুটটিতে কেবল থাকে ইনপুটটিতে পূর্ণসংখ্যা থাকে তবে আউটপুট তালিকায় কেবলমাত্র পূর্ণসংখ্যা থাকা উচিত। যদি ইনপুট তালিকায় পূর্ণসংখ্যা এবং দশমিক সংখ্যা থাকে তবে সমস্ত আউটপুট সংখ্যা দশমিক সংখ্যা হতে পারে। (পূর্ণসংখ্যা হিসাবে পূর্ণসংখ্যার হিসাবে রাখা এটি alচ্ছিক)
- দশমিক পয়েন্টের পরে সর্বাধিক সংখ্যার সমর্থন করা উচিত 3
- ইনপুটটি দুটি আর্গুমেন্ট হবে। অর্থাৎ সংখ্যাগুলি একটি যুক্তিতে থাকে এবং বিন্যাসের স্ট্রিংটি একটি একক যুক্তি।
- কোডটি কোনও প্রোগ্রাম বা ফাংশন হতে পারে
- ইনপুট ফাংশন আর্গুমেন্ট বা STDIN হতে পারে
কিছু উদাহরণ:
1 2 3 4
[,
[1,2,3,4]
<1; 2; 3>
; <-- Space + semicolon
1;2;3
not valid: 1.000;2.000;3.000 (Input is only integers => Output must be integers)
{-1.3, 3.4, 4, 5.55555555}
[,
[-1.300,3.400,4.000,5.556] (5.555 is also valid. Rounding is optional)
also valid: [-1.3,3.4,4,5.55555555]
বাইটস মধ্যে সংক্ষিপ্ত কোড। বরাবরের মতো, চ্যালেঞ্জ পোস্ট হওয়ার দিন থেকেই বিজয়ী নির্বাচন করা হবে। পরবর্তী পোস্ট করা উত্তরগুলি যদি বর্তমান বিজয়ীর চেয়ে কম হয় তবে তারা জিততে পারে।
লিডারবোর্ড
এই পোস্টের নীচে স্ট্যাক স্নিপেট উত্তরগুলি থেকে ক্যাটালগ তৈরি করে a) ভাষার প্রতি সংক্ষিপ্ত সমাধানের তালিকা হিসাবে এবং খ) সামগ্রিক লিডারবোর্ড হিসাবে।
আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেম্পলেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
## Language Name, N bytes
N
আপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:
## Ruby, <s>104</s> <s>101</s> 96 bytes
যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি পৃথকভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:
## Perl, 43 + 2 (-p flag) = 45 bytes
আপনি ভাষাটির নামটিকে একটি লিঙ্কও তৈরি করতে পারেন যা স্নিপেটে প্রদর্শিত হবে:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
_
নেতিবাচক উপাদানগুলি বোঝাতে ব্যবহার করে। :(