এমন একটি ফাংশন (যেমন placeAt) লিখুন যা অ-নেতিবাচক পূর্ণসংখ্যার অ্যারে নেয় এবং একটি সূচক যা অ-নেতিবাচক পূর্ণসংখ্য হয়। এটি প্রদত্ত সূচকে একটি 1 স্থাপন করা উচিত, সম্ভবত স্পটটি ফাঁকা করার জন্য অন্য এন্ট্রিগুলিকে এক স্থান দ্বারা স্থানান্তরিত করা উচিত, 0 টি ফাঁকা দাগের জন্য দাঁড়িয়ে আছে।
- পছন্দসই সূচকে এন্ট্রি যদি 0 হয় তবে এটি 1 দিয়ে পূরণ করুন।
- অন্যথায়, সূচকের বাম দিকে নিকটতম 0 টি সন্ধান করুন। স্থান তৈরি করতে সেই স্থানের বাম দিকে একটি স্থানের স্থান পরিবর্তন করুন, তারপরে একটি 1 দিয়ে সূচকটি পূরণ করুন।
- বামদিকে যদি 0 না থাকে তবে ডানদিকে যাচ্ছেন।
- উভয়ই যদি সম্ভব না হয় (যেমন যদি 0 না থাকে) তবে অ্যারেটি অপরিবর্তিত অবস্থায় ফিরিয়ে দিন।
আইটেমগুলি 0-সূচকযুক্ত। ফাংশনটির নাম আপনি যা চান তা হতে পারে।
উদাহরণ:
(অক্ষরগুলি কোনও ধনাত্মক পূর্ণসংখ্যার মানগুলির জন্য দাঁড়ায়))
[a, b, 0, c, d, 0] placeAt 2 // output [a, b, 1, c, d, 0] place 2 is 0, just fill
[a, b, 0, c, d, 0] placeAt 3 // output [a, b, c, 1, d, 0] place 3 is filled, shift items left
[a, b, 0, c, d, 0] placeAt 0 // output [1, a, b, c, d, 0] place 0 is filled, can't shift left, shift items right
[a, b, 0, c, d, 0] placeAt 1 // output [a, 1, b, c, d, 0] place 1 is filled, can't shift left, shift items right
[0, a, b, 0, c, d, 0] placeAt 2 // output [a, b, 1, 0, c, d, 0] place 2 is filled, shift items left
[0, a, b, 0, c, d, 0] placeAt 4 // output [0, a, b, c, 1, d, 0] place 4 is filled, shift items left (notice you keep shifting up until a 0)
[0, 2, 0, 2] placeAt 3 // output [0, 2, 2, 1] place 3 is filled, shift items left
এটি একটি কোড গল্ফ চ্যালেঞ্জ। 9 দিনের শেষে স্বল্পতম এন্ট্রি জিতল।
[0, 2, 0, 2] placeAt 3, আউটপুট বৈধ [2, 0, 2, 1]? কোডটি কি আসলে একটি ফাংশন হিসাবে পরিচিত হয় placeAt? মনে রাখবেন যে কিছু ভাষার ঠিক ফাংশন নেই। "একটি ব্যতিক্রম নিক্ষেপ" কিছু ভাষার ক্ষেত্রেও প্রযোজ্য নয়; আমি একটি ত্রুটি নির্দেশ করে একটি আউটপুট অনুমতি দেওয়ার পরামর্শ দেব।
[2, 0, 2, 1]কোনও আইনি আউটপুট নয়, কারণ আপনার সর্বদা যতটা সম্ভব কয়েকটি উপাদান স্থান পরিবর্তন করা উচিত এবং আপনি যা চান তাতে ফাংশনটির নাম দিতে পারেন।

0?