Skip to content

Commit 8d08322

Browse files
committed
feat: Solve valid-parentheses problem
1 parent 12d1fc0 commit 8d08322

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

โ€Žvalid-parentheses/hu6r1s.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution:
2+
"""
3+
1. ์Šคํƒ์„ ํ™œ์šฉํ•œ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ
4+
์—ฌ๋Š” ๊ด„ํ˜ธ์ผ ๋•Œ๋Š” ์Šคํƒ์— ๋ฌด์กฐ๊ฑด ๋„ฃ์–ด์ค€๋‹ค.
5+
๋‹ซ๋Š” ๊ด„ํ˜ธ์ผ ๋•Œ๋Š” ๋Œ€, ์ค‘, ์†Œ ๊ด„ํ˜ธ์— ๋งž์ถฐ์„œ ๋ถ„๊ธฐ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
6+
์Šคํƒ์ด ์žˆ๊ณ , ์Šคํƒ์˜ ๋งˆ์ง€๋ง‰์ด ํ•ด๋‹น ๊ด„ํ˜ธ์˜ ์—ฌ๋Š” ๊ด„ํ˜ธ์ด๋ฉด ๋นผ๋‚ด์ค€๋‹ค.
7+
์ด์™ธ๋Š” ๋‹ซํžŒ ๊ด„ํ˜ธ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— False๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
8+
์ „ํ˜•์ ์ธ ์Šคํƒ ๋ฌธ์ œ๋กœ O(n)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค.
9+
"""
10+
def isValid(self, s: str) -> bool:
11+
stack = []
12+
for word in s:
13+
if word == "(" or word == "{" or word == "[":
14+
stack.append(word)
15+
elif stack and word == ")" and stack[-1] == "(":
16+
stack.pop()
17+
elif stack and word == "]" and stack[-1] == "[":
18+
stack.pop()
19+
elif stack and word == "}" and stack[-1] == "{":
20+
stack.pop()
21+
else:
22+
return False
23+
return True if not stack else False

0 commit comments

Comments
ย (0)