Meydan okuma 3
- Algoritmalar kursu
- Başlangıç
- Ders 79/80
- 4 dk
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
def balance_parens(s):
# Parantez dengeleÖrnek çözüm
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
Dengeli parantez sonunda stack ____ olur.
Dengeli parantez sonunda stack boş olur.
Açıklama: boş doğru.