אימות סוגרים תואמים במחרוזת

קטגוריה: מחרוזות

דרגת קושי: 4



נתונה מחרוזת של סוגרים, פותחים וסוגרים. כתבו פונקציה שבודקת את חוקיות המחרוזת, כלומר אם כל סוגר במחרוזת סגור בצורה נכונה.

יש לכתוב פונקציה שמקבלת מחרוזת כקלט ומחזירה ערך בוליאני שמציין את חוקיות המחרוזת. הסוגריים שצריכים להיבדק הם (), {}, ו-[].

דוגמה לשימוש:

echo isValid("(){}[]"); // פלט: true
echo isValid("([{}])"); // פלט: true
echo isValid("(]");     // פלט: false
echo isValid("({[)]");  // פלט: false
echo isValid("{[]}");   // פלט: true

דרישות:

  1. על הפונקציה להיות מסוגלת לבדוק סוגריים עגולים `()`, סוגריים מסולסלים `{}`, וסוגריים מרובעים `[]`.
  2. כדי שמחרוזת סוגרים תהיה תקינה, לא מספיק שלכל סוגר יהיה סוגר הפוך שמתאים לו - גם הסדר שלהם צריך להישמר, כלומר כל תת מחרוזת הפנימית לזוג כלשהו של סוגריים צריכה להיות חוקית.
  3. הפונקציה תחזיר `true` אם כל הסוגריים במחרוזת סגורים בצורה נכונה ו-`false` אחרת.
  4. אין להשתמש בפונקציות מובנות לבדיקת סוגריים (כגון ספריות קוד פתוח).

טיפ:

- נסו לחשוב על מבנה נתונים שיכול לאפשר מעקב על סוג כזה של מידע. 

הוספת פתרון חדש

או התחבר

  • מתן, 10-06-24:

    פתרון וידאו מיוטיוב: