ν°μ€ν 리 λ·°
μ€ν(Stacks) - μμμ κ΄νΈ μ ν¨μ± κ²μ¬
yeahajeong 2020. 6. 23. 09:50λ¬Έμ μ€λͺ
μκ΄νΈ: ( )
μ€κ΄νΈ: { }
λκ΄νΈ: [ ]
λ₯Ό ν¬ν¨ν μ μλ μμμ ννν λ¬Έμμ΄ expr μ΄ μΈμλ‘ μ£Όμ΄μ§ λ, μ΄ μμμ κ΄νΈκ° μ¬λ°λ₯΄κ² μ¬λ«ν μλμ§λ₯Ό νλ¨νλ ν¨μ solution() μ μμ±νμΈμ. μ΄ ν¨μλ μμμ κ΄νΈκ° μ ν¨νλ©΄ True λ₯Ό, κ·Έλ μ§ μμΌλ©΄ False λ₯Ό 리ν΄ν©λλ€.
μ¬λ°λ₯Έ μμ
- (A +B)
- {(A + B) * C}
- [(A +B) * (C + D)]
μ¬λ°λ₯΄μ§ μμ μμ
- (A +B
- A +B)
- {A * (B * C})
- [(A + B) * (C + D)}
μκ³ λ¦¬μ¦ μ€κ³ - μμμ μΌμͺ½λΆν° ν κΈμμ© μ½μ΄μ
1. μ¬λκ΄νΈλ₯Ό λ§λλ©΄ "( λλ { λλ [" μ€νμ νΈμ
2. λ«λκ΄νΈλ₯Ό λ§λλ©΄ ") λλ } λλ ]
2-1. μ€νμ΄ λΉμ΄μμΌλ©΄ μ¬λ°λ₯΄μ§ μμ μμ
2-2. μ€νμμ pop, μμ μ΄λ£¨λ μ¬λ κ΄νΈμΈμ§ κ²μ¬
2-2-1.λ§μ§ μμΌλ©΄ μ¬λ°λ₯΄μ§ μλ μμ
3. λκΉμ§ κ²μ¬ν ν μ€νμ΄ λΉμ΄μμ΄μΌ μ¬λ°λ₯Έ μμ
νμ΄
class ArrayStack:
def __init__(self):
self.data = []
def size(self):
return len(self.data)
def isEmpty(self):
return self.size() == 0
def push(self, item):
self.data.append(item)
def pop(self):
return self.data.pop()
def peek(self):
return self.data[-1]
def solution(expr):
match = {
')' : '(',
'}' : '{',
']' : '['
}
S = ArrayStack()
for c in expr:
if c in '({[' :
S.push(c)
elif c in match:
if S.isEmpty():
return False
else:
t = S.pop()
if t != match[c]:
return False
return S.isEmpty()
'(ꡬ)μλ£κ΅¬μ‘°&μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ€νμ μμ© - νμ νκΈ° μμ κ³μ° (0) | 2020.06.24 |
---|---|
μ€νμ μμ© - μμμ νμ νκΈ°λ² (Postfix Notation) (0) | 2020.06.23 |
μ€ν(Stacks) (1) | 2020.06.22 |
μλ°©ν₯ μ°κ²° 리μ€νΈ (Doubly Listed Lists) (0) | 2020.06.19 |
μ°κ²° 리μ€νΈ (Linked List) - λλ―Έ λ Έλ μΆκ° (0) | 2020.06.19 |
- Total
- Today
- Yesterday
- κ²μλ¬Ό μμ
- μλ°
- κ²μν μμ
- Java
- κ°λ°ν경ꡬμΆ
- java jdk μ€μΉ
- μ 체κ²μλ¬Ό μ‘°ν
- Algorithm
- tomcatμ€μΉ
- java νκ²½λ³μ
- κ²μν μ‘°ν
- μλ£κ΅¬μ‘°
- κ°λ°
- κ²μλ¬Όμ‘°ν
- μ΄ν΄λ¦½μ€ μ€μΉ
- typeAliases
- μ΄ν΄λ¦½μ€ νκΈ μΈμ½λ©
- κ²μνλ§λ€κΈ°
- μ€νλ§λΆνΈ μλμμ±
- mysqlμ€μΉ
- λΆνΈ μλμμ±
- μκ³ λ¦¬μ¦
- μ¨λ¦¬μμ€
- λ³λͺ μ²λ¦¬
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |