ভূমিকা
এখানে বেশিরভাগ কোড-গল্ফাররা তাদের জমাগুলিতে ব্যাখ্যা যুক্ত করে, তাই কী হচ্ছে তা বোঝা সহজ। সাধারণত কোডলাইনগুলি বাম দিকে যায় এবং কিছু ধরণের বিভাজক সহ ডানদিকে সম্পর্কিত ব্যাখ্যা। এটিকে সুন্দর দেখাতে, বিভাজকগুলি একই কলামে রয়েছে। এছাড়াও দীর্ঘ ব্যাখ্যার পাঠ্য সাধারণত পরবর্তী লাইনে আবৃত থাকে, তাই পাঠকদের সমস্ত কিছু পড়তে অনুভূমিকভাবে স্ক্রোল করতে হবে না।
যাইহোক, আপনি যখন কিছুটা ক্রেজি গল্ফ তৈরি করেছেন বলে আপনি এই ব্যাখ্যাটি সম্পাদনা করতে চান তখন আপনি নিজের ব্যাখ্যাটি আবার সুন্দর করে তুলতে প্রায়শই সময় ব্যয় করেন। যেহেতু এটি খুব পুনরাবৃত্তিযোগ্য কাজ, আপনি এটির জন্য একটি প্রোগ্রাম লিখতে চান।
চ্যালেঞ্জ
ব্যাখ্যা সহ একটি বিভাজক কোড এবং একটি বিভাজক দেওয়া, ব্যাখ্যা সহ সুন্দর বিন্যাসিত কোড আউটপুট।
উদাহরণ
ইনপুট
shM-crz1dc4। "ANDBYOROF # z = ইনপুট rz1 # ইনপুটকে বড়হাতে রূপান্তর করুন স্পেসে সিডি # বিভক্ত ইনপুট c4 "" অ্যান্ডবায়রফ # একটি প্যাকযুক্ত স্ট্রিং থেকে শব্দের একটি তালিকা তৈরি করুন যা উপেক্ষা করা হবে - # এই শব্দগুলি ফিল্টার করুন এইচএম # কেবলমাত্র সমস্ত শব্দের প্রথম অক্ষর নিন এস # তাদের সাথে একটি স্ট্রিংয়ে যোগ দিন
আউটপুট
shM-crz1dc4। "ANDBYOROF # z = ইনপুট rz1 # ইনপুটকে বড়হাতে রূপান্তর করুন স্পেসে সিডি # বিভক্ত ইনপুট c4 "" অ্যান্ডবায়রফ # একটি প্যাকড স্ট্রিং থেকে শব্দের একটি তালিকা তৈরি করুন যা হবে # উপেক্ষা করা হয়েছে - # এই শব্দগুলি ফিল্টার করুন এইচএম # কেবলমাত্র সমস্ত শব্দের প্রথম অক্ষর নিন এস # তাদের সাথে একটি স্ট্রিংয়ে যোগ দিন
এই কোডটি কী করে তা জানতে পারে এমন একজনের জন্য একটি কুকি।
বিন্যাসের অ্যালগরিদম
- দীর্ঘতম কোড-লাইন (ব্যাখ্যা এবং কোড এবং বিভাজকের মধ্যে ফাঁকা স্থানগুলি বাদ দিয়ে) সন্ধান করুন।
- এই কোড-লাইনের পরে 5 টি স্পেস যুক্ত করুন এবং সম্পর্কিত বিভাজককে ব্যাখ্যার সাথে যুক্ত করুন। এটি এখন রেফারেন্স লাইন।
- এই রেফারেন্স লাইনের সাথে অন্য প্রতিটি লাইন সামঞ্জস্য করুন, যাতে পৃথককারীরা সমস্ত একই কলামে থাকে।
- নিম্নলিখিত লাইনে একটি নতুন লাইনে 93 টি অক্ষরের বেশি দীর্ঘ সমস্ত লাইন মোড়ুন:
- 93 বা তারও কম কলামে শেষ শব্দটি সন্ধান করুন।
- এর পরে সমস্ত শব্দ নিয়ে যান এবং নেতৃস্থানীয় বিভাজক এবং সঠিক ফাঁক দিয়ে একটি নতুন লাইনে এগুলি মুড়িয়ে দিন। এই দুটি শব্দের মধ্যবর্তী স্থানটি মুছতে হবে, সুতরাং প্রথম লাইনটি একটি শব্দের অক্ষরের সাথে শেষ হয় এবং দ্বিতীয় লাইনটি বিভাজকের পরে একটি দিয়ে শুরু হয়।
- যদি ফলাফল লাইন এখনও 93 টির চেয়ে বেশি দীর্ঘ হয় তবে প্রতিটি লাইন 94 টি অক্ষরের নীচে না হওয়া পর্যন্ত আবার একই কাজ করে again
মন্তব্য
- একটি শব্দ অ-হোয়াইটস্পেস অক্ষর নিয়ে গঠিত। শব্দ একটি একক স্থান দ্বারা পৃথক করা হয়।
- শব্দ মোড়ানো সর্বদা সম্ভব। এর অর্থ হ'ল কোনও শব্দ এত দীর্ঘ নয় যে এটি মোড়ানোটিকে অসম্ভব করে তুলবে।
- ইনপুটটিতে কেবল প্রিন্টযোগ্য এএসসিআইআই থাকবে এবং এতে কোনও পেছনের সাদা স্থান থাকবে না
- বিভাজক প্রতি লাইনে কেবল একবার উপস্থিত হবে।
- ব্যাখ্যায় সীমাহীন দৈর্ঘ্য থাকতে পারে, বিভাজক এবং কোডটিতে কেবলমাত্র সংখ্যার সর্বোচ্চ দৈর্ঘ্য থাকতে পারে
93 - 5 = 87
। 5 টি অক্ষর কোড এবং বিভাজকের মধ্যে ফাঁকা স্থান। কোড এবং বিভাজক সর্বদা কমপক্ষে একটি অক্ষর দীর্ঘ হবে। - ইনপুটটিতে খালি লাইন থাকতে পারে। এগুলিতে কখনই কোনও অক্ষর থাকবে না (যদি আপনি মাল্টলাইন স্ট্রিং হিসাবে ইনপুট নেন তবে একটি নতুন লাইন বাদে)। সেই ফাঁকা লাইনগুলিকেও আউটপুটে উপস্থিত থাকতে হবে।
- প্রতিটি লাইনে কিছু কোড, একটি বিভাজক এবং ব্যাখ্যা থাকবে। ব্যতিক্রমগুলি খালি লাইন।
- আপনি যে কোনও যুক্তিসঙ্গত বিন্যাসে ইনপুট নিতে পারবেন, যতক্ষণ না এটি প্রাক প্রক্রিয়াজাত না হয়। আপনি কোনটি ব্যবহার করেন তা আপনার উত্তরে পরিষ্কার করুন।
- আউটপুট একাধিক স্ট্রিং বা স্ট্রিংগুলির তালিকা হতে পারে।
বিধি
- ফাংশন বা সম্পূর্ণ প্রোগ্রাম অনুমোদিত।
- ইনপুট / আউটপুট জন্য ডিফল্ট নিয়ম ।
- স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।
- এটি কোড-গল্ফ , তাই সর্বনিম্ন বাইট-কাউন্ট জেতা। টাইব্রেকার আগে জমা দেওয়া হয়।
পরীক্ষার মামলা
এখানে ইনপুট ফর্ম্যাটটি লাইনের প্রতিনিধিত্ব করে স্ট্রিংয়ের তালিকা এবং বিভাজকের জন্য একক স্ট্রিং। উভয়ই কমা দ্বারা পৃথক করা হয়। আউটপুট স্ট্রিংগুলির একটি তালিকা।
['shM-crz1dc4। "" ANDBYOROF # z = ইনপুট', '', 'rz1 # ইনপুটকে বড় হাতের মধ্যে রূপান্তর করুন', 'সিডি # স্পেসে বিভাজন ইনপুট', 'সি 4 " স্ট্রিং যা উপেক্ষা করা হবে ',' - # এই শব্দগুলিকে ফিল্টার করুন ',' এইচএম # কেবলমাত্র সমস্ত শব্দের প্রথম অক্ষর নিয়ে যান ',' # এর সাথে একটি স্ট্রিংয়ে যুক্ত হন '], "#" -> [' shM-crz1dc4 "" ANDBYOROF # z = ইনপুট ',' ',' rz1 # ইনপুটকে বড় হাতের মধ্যে রূপান্তর করুন ',' সিডি # স্প্লিটসে স্প্লিট ইনপুট ',' সি 4 "" , '# উপেক্ষা', '- # এই শব্দগুলিকে ফিল্টার করুন ',' এইচএম # কেবলমাত্র সমস্ত শব্দের প্রথম অক্ষর নিয়ে যান ',' এর # এগুলিকে একটি স্ট্রিংয়ে যুক্ত করুন '] ['কোডেকোডকোড ই # ব্যাখ্যা', 'এসডিএফ ডিএসএফ এসডিএফ ই # একটি খুব খুব খুব খুব খুব খুব খুব খুব দীর্ঘ খুব দীর্ঘ দীর্ঘ দীর্ঘ দীর্ঘ দীর্ঘ দীর্ঘ দীর্ঘ দীর্ঘ ব্যাখ্যা এবং এটি দীর্ঘ এবং দীর্ঘতর হতে থাকে', '', 'কিছু আরও কোড # এবং আরও কিছু ব্যাখ্যা '], "ই #" -> [' কোডেকোডকোড ই # ব্যাখ্যা ',' এসডিএফ ডিএসএফ এসডিএফ ই # একটি খুব খুব খুব খুব খুব খুব খুব খুব দীর্ঘ দীর্ঘ দীর্ঘ দীর্ঘ ',' ই # দীর্ঘ দীর্ঘ দীর্ঘ দীর্ঘ দীর্ঘ ব্যাখ্যা এবং এটি দীর্ঘতর হতে থাকে ',' ই # এবং আরও দীর্ঘ ',' ',' আরও কিছু কোড ই # এবং আরও কিছু ব্যাখ্যা ']
শুভ কোডিং!
length of the longest code-line + 5
। এটি এমন রেখাগুলিতেও প্রযোজ্য যেখানে কেবল একটি ব্যাখ্যা রয়েছে, কারণ সেগুলি মোড়ানো ছিল।