পিট বিভিন্ন কারণে একটি আকর্ষণীয় প্রোগ্রামিং ভাষা। আজ আমরা একটি কারণে মনোনিবেশ করব: রোল কমান্ড। রোল কমান্ডটি মূলত পোস্টস্ক্রিপ্ট থেকে এসেছিল এবং স্ট্যাকটি সামাল দেওয়ার একটি শক্তিশালী উপায়।
রোল কমান্ড স্ট্যাকের শীর্ষ দুটি উপাদান পপ করে এবং সেগুলি পরামিতি হিসাবে ব্যবহার করে। আমরা প্রথম মানটিকে পপড turns
এবং দ্বিতীয়টি বলব depth
। গভীরতা n এ পরিবর্তন স্ট্যাকের শীর্ষতম উপাদানটি নেবে, এটিকে স্ট্যাকের নবম উপাদান তৈরি করবে এবং এর উপরে প্রতিটি উপাদানকে একটি করে উপরে নিয়ে যাবে। যদি turns
নেতিবাচক হয় তবে এটি বিপরীত দিকে করা হয়। অর্থাত, নবম উপাদানটি শীর্ষে সরানো হয় এবং অন্যান্য উপাদানগুলি নীচে সরানো হয়। এটি বার abs(turns)
বার হয়।
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা স্ট্যাকের মধ্যে লাগে এবং রোল কার্যকর করার পরে সেই স্ট্যাকটি ফেরত দেয়।
বিধি
- ইনপুট এবং আউটপুট একটি তালিকা, অ্যারে, একটি ডিলিমিটারের সাথে স্ট্রিং, একবারে একটি উপাদানে বা অন্য কোনও যুক্তিসঙ্গত বিন্যাসে থাকতে পারে। আউটপুট অবশ্যই ইনপুট হিসাবে একই ফর্ম্যাটে থাকতে হবে।
depth
কখনও নেতিবাচক হবে না এবং স্ট্যাকের দৈর্ঘ্যের চেয়ে বড় কখনও হবে না।- ইনপুট স্ট্যাকটিতে সর্বদা কমপক্ষে দুটি উপাদান থাকবে।
- এটি কোড-গল্ফ তাই প্রতিটি ভাষার সংক্ষিপ্ত উত্তর জিততে পারে। এর মতো, আমি কোনও উত্তর গ্রহণ করব না।
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
পরীক্ষার মামলা
in: out:
2
4
1 3
2 4
3 1
4 2
5 5
6 6
in: out:
-2
3
1 2
2 3
3 1
in: out:
-42
0
1 1
2 2
3 3
4 4
5 5