আপনার উদ্দেশ্য: বন্ধনীগুলির একটি স্ট্রিং দেওয়া হয়েছে, ইনপুট স্ট্রিংটিকে স্ট্রিংয়ে রূপান্তর করতে প্রয়োজনীয় ন্যূনতম ডামেরাউ-লেভেনস্টাইন দূরত্ব আউটপুট করুন যেখানে বন্ধনীগুলি ভারসাম্যযুক্ত।
ইনপুট
ইনপুট স্ট্রিংটিতে কেবল বন্ধনী এবং অন্য কোনও অক্ষর থাকবে। এটি হ'ল এটি কোনও চরিত্রের সমন্বয় (){}[]<>
। আপনি স্ট্রিং বা অক্ষরের অ্যারে হিসাবে ইনপুট নিতে পারেন। আপনি ইনপুট স্ট্রিং সম্পর্কে অন্য কোনও অনুমান নাও করতে পারেন; এটি নির্বিচারে দীর্ঘ হতে পারে (আপনার ভাষা দ্বারা সমর্থিত সর্বাধিক আকার পর্যন্ত), এটি খালি থাকতে পারে, বন্ধনীগুলি ইতিমধ্যে ভারসাম্যপূর্ণ হতে পারে ইত্যাদি etc.
ডামেরাউ-লেভেনস্টেইন দূরত্ব
দুটি স্ট্রিংয়ের মধ্যে ডামেরাউ-লেভেনস্টেইন দূরত্ব হ'ল সন্নিবেশ, মুছে ফেলা, একক-চরিত্রের বিকল্প এবং দুটি সংলগ্ন অক্ষরের ট্রান্সপোজিশন (অদলবদল) এর সর্বনিম্ন সংখ্যা।
আউটপুট
আউটপুটটি ইনপুট স্ট্রিং এবং একটি স্ট্রিংয়ের মধ্যে ন্যূনতম ডামেরাউ-লেভেনস্টেইন দূরত্ব হওয়া উচিত যাতে বন্ধনীগুলি মিলে যায়। আউটপুট একটি সংখ্যা হওয়া উচিত , ফলাফলের ভারসাম্যযুক্ত স্ট্রিং নয়।
খোলার এবং বন্ধ করার বন্ধনীগুলি সঠিক ক্রমে থাকে এবং সেগুলির ভিতরে কোনও অক্ষর না থাকলে, একটি জোড়া বন্ধনী "মিলিত" হিসাবে বিবেচিত হয় as
()
[]{}
অথবা এর অভ্যন্তরের প্রতিটি উপ-উপাদানগুলির সাথেও যদি মিল হয়।
[()()()()]
{<[]>}
(()())
উপ-উপাদানগুলি গভীরভাবে কয়েকটি স্তরকে বাসাতে পারে।
[(){<><>[()]}<>()]
<[{((()))}]>
(সংজ্ঞার জন্য @ ডিজেএমসিমেহেমকে ধন্যবাদ)
পরীক্ষার মামলা
Input Possible Balanced Output
Empty Empty 0
[](){}<> [](){}<> 0
[(){}<> [(){}<>] 1
[(]) []() 1
[[[[[[[[ [][][][] 4
(](<>}[>(}>><(>(({}] ()(<>)[(<><>){}] 7
>]{])< []{()} 3
([)}}>[ (){}<> 4
{<((<<][{{}>[<) <>(<<[]>{}>[]) 5
{><({((})>}}}{(}} {<><({()})>}{}{()} 4
(](<)>}[>(}>>{]<<(]] (<()<><<>()>>[])<()> 9
}})( {}() 2
(পরীক্ষার অর্ধেকটি সমাধানের জন্য @ ওয়েট উইজার্ডকে ধন্যবাদ)
এটি কোড-গল্ফ , সবচেয়ে কম বাইট জয়!
আপনার জমাগুলি পরীক্ষাযোগ্য হওয়া উচিত, এর অর্থ এটি প্রতিটি পরীক্ষার ক্ষেত্রে এক ঘণ্টার বেশি সময় না নিয়ে ফলাফল আউটপুট করে।
[<>]
বা []<>
বা<>