একটি লগ দেওয়া আছে যাতে ফোল্ডার নেভিগেশন পথ রয়েছে। সিম্বলগুলো:
"../" — পেরেন্ট ফোল্ডারে যান (রুটে থাকলে কিছুই হবে না)
"./" — বর্তমান ফোল্ডারে থাকুন
"x/" — x নামক চাইল্ড ফোল্ডারে যান
লগ অনুসরণ করে শেষে যে ফোল্ডারে পৌঁছাল, সেখান থেকে রুট ফোল্ডারে ফেরতে ন্যূনতম অপারেশন সংখ্যা বের করতে হবে।
ইনপুট: ["Dir1/", "Dir2/", "../", "Dir2/", "Dir3/", "./"] → আউটপুট: 3।

সমাধানের ধাপসমূহ (স্ট্যাক ব্যবহার)
stk := []
প্রতিটি item ∈ logs:
- যদি item == "../" এবং len(stk) > 0: stk.pop()
- যদি item != "./" এবং item != "../": stk.append(item)
- অন্যথায়: continue
len(stk) রিটার্ন করুন
উদাহরণ (Python)
def solve(logs):
stk = []
for i in logs:
if i == "../" and len(stk) > 0:
stk.pop()
elif i != "./" and i != "../":
stk.append(i)
else:
continue
return len(stk)
logs = ["Dir1/", "Dir2/", "../", "Dir2/", "Dir3/", "./"]
print(solve(logs))
ইনপুট
["Dir1/", "Dir2/", "../", "Dir2/", "Dir3/", "./"]
আউটপুট
3