CodeBlanks Logo Icon CodeBlanks

Meydan okuma 3

Bubble sort ile bir diziyi sıralayıp yazdırırsın.

Meydan okuma 3: Stack ile parantez

Bu meydan okumada stack kullanarak parantez dengelemesi yapacaksın. Her açılan parantez kapanmalıdır.

Dizi: '(())' dengeli, '(()' dengesiz. Aç parantezi stack'e koy, kapa gelince pop yap.

Uygulama Parantez dengele

balance_parens(s) yaz. Stack ile parantez dengele, dengeliyse True. print(balance_parens('(())')) ile True yazdır.

Başlangıç kodu

solution.py
def balance_parens(s):
    # Parantez dengele

Örnek çözüm

solution.py
def balance_parens(s):
    # Parantez dengele
    stack = []
    for ch in s:
        if ch == '(':
            stack.append(ch)
        elif ch == ')':
            if len(stack) == 0:
                return False
            stack.pop()
    return len(stack) == 0
print(balance_parens('(())'))

Beklenen çıktı

True

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Meydan okuma 3: kavramları eşleştir

Kavram Anlamı
stack Parantez
push Aç parantez
pop Kapa parantez
boş Dengeli

2 Hangi parantez dizisi dengelidir?

  • (()
  • ())(
  • )(
  • (()) Doğru cevap

Açıklama: (()) dengelidir.

3 Dengeli

Soru
Dengeli parantez sonunda stack ____ olur.
Cevap
Dengeli parantez sonunda stack boş olur.

Açıklama: boş doğru.

Başlangıç bölümündeki tüm dersler