Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- ๋๋ฆผ์ฝ๋ฉ
- HTML
- ๊ทธ๋ฆฌ๋
- ์ฝ๋ฉ
- ํ๋ก ํธ์๋
- CSS
- ๋ฐฑ์ค
- ๋ ธ๋ง๋์ฝ๋
- ์๊ณ ๋ฆฌ์ฆ
- KDT
- node.js
- heapq
- ์ฝ๋ฉํ ์คํธ
- javascript
- Til
- ๊ฐ๋ฐ
- mongodb
- fe
- ๋ชจ๊ฐ์ฝ
- react
- ํฌ๋กค๋ง
- ํ์ด์ฌ
- error
- ๊ตญ๋น์ง์
- ์ฝ๋ฉ์ ํ
- ํ๋ก์ ํธ
- ํ๋ก๊ทธ๋๋จธ์ค
- JS
- ํ ์ดํ๋ก์ ํธ
- Python
Archives
- Today
- Total
๐ฑ → ๐ณ
[๋ฐฑ์ค] 9012๋ฒ: ๊ดํธ python ๋ณธ๋ฌธ
728x90
https://www.acmicpc.net/problem/9012
์ค๊ณ ๋ฐฉ๋ฒ
๋์ ๋ฐฉ๋ฒ
- ps๊ฐ ์ฃผ์ด์ก์ ๋ “(”๋ฉด stack์ ๋ฃ๊ณ “)”๋ฉด stack์์ ๋นผ์ฃผ์์
- “)”์ธ๋ฐ stack์์ ๋บ ๊ฒ ์์ผ๋ฉด vps๊ฐ ์๋๊ฑฐ๊ณ , ps๋ฅผ ๋ชจ๋ ๋๊ณ ๋์๋ (๊ฐ ๋จ์์์ด๋ vps๊ฐ ์๋
๋ค๋ฅธ ๋ฐฉ๋ฒ
- ๊ผญ stack์ ์ด์ฉํ์ง ์๋๋ผ๋ sum = 0 ์ด๋ผ๊ณ ์ ์ธ ํ์ฌ ๊ตฌํํ ์ ์์
- “(”๋ฉด sum +=1, “)” ์ด๋ฉด sum -=1 ์ด๋ฐ ์์ผ๋ก
์ฝ๋
# ๋ด ์ฝ๋
# ์คํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ ํ์ด
N = int(input())
for _ in range(N):
ps = list(input())
stack = []
ans = ''
for i in ps:
if i == "(":
stack.append(i)
elif i == ")":
if len(stack) == 0:
# print("NO")
ans = 'no'
break
else:
stack.pop()
if len(stack) == 0 and ans != 'no':
print('YES')
else:
print('NO')
# sum์ ์ด์ฉํ ํ์ด
a = int(input())
for i in range(a):
b = input()
s = list(b)
sum = 0
for i in s:
if i == '(':
sum += 1
elif i == ')':
sum -= 1
if sum < 0:
print('NO')
break
if sum > 0:
print('NO')
elif sum == 0:
print('YES')
์๊ฐ ๋ณต์ก๋
$O(n^2)$
์ด๋ ค์ ๋ ์
- “)”์ธ๋ฐ stack์์ ๋บ ๊ฒ ์์ผ๋ฉด break๋ฅผ ํ๊ณ stack์ ๊ธธ์ด๋ก ‘ps๋ฅผ ๋ชจ๋ ๋๊ณ ๋์๋ (๊ฐ ๋จ์์์ด๋ vps๊ฐ ์๋’ ์ ๊ฒฝ์ฐ๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋ print๊ฐ 2๋ฒ ์ถ๋ ฅ๋๋ ํ์์ด ๋ํ๋ฌ๋ค
- ์ผ๋จ ๋๋ ans๋ผ๋ ๋ณ์๋ฅผ ๋ง๋ค์ด์ ans๊ฐ ๋น ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ์๋ง ์๋์ if๋ฌธ์ด ์คํ๋๋๋ก ํ์๋๋ฐ ์๋์ ์์๋ฅผ ๋ณด๋ for j ์ ๊ฐ์ ๋ผ์ธ์ else๋ฅผ ํ๋ break๋ฌธ์ผ๋ก ๋์ด์ง์ง ์๊ณ ์ํ๋์์ ๊ฒฝ์ฐ ์ํํ๋๋ก ํ ์ ์์ ๊ฒ์ ํ์ธ ํ ์ ์์๋ค
- break์ ๋ํด ์ข ๋ ์์๋ด์ผ ํ ๊ฒ ๊ฐ๋ค
T = int(input())
for i in range(T):
stack = []
a=input()
for j in a:
if j == '(':
stack.append(j)
elif j == ')':
if stack:
stack.pop()
else: # ์คํ์ ๊ดํธ๊ฐ ์์๊ฒฝ์ฐ NO
print("NO")
break
else: # break๋ฌธ์ผ๋ก ๋๊ธฐ์ง ์๊ณ ์ํ๋ฌ์๊ฒฝ์ฐ ์ํํ๋ค
if not stack: # break๋ฌธ์ผ๋ก ์๋๊ธฐ๊ณ ์คํ์ด ๋น์ด์๋ค๋ฉด ๊ดํธ๊ฐ ๋ค ๋ง๋๊ฑฐ๋ค.
print("YES")
else: # break์ ๊ฑธ๋ ธ๋๋ผ๋ ์คํ์ ๊ดํธ๊ฐ ๋ค์ด์๋ค๋ฉด NO์ด๋ค.
print("NO")
์ฐธ๊ณ ์๋ฃ
728x90
'Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1406๋ฒ: ์๋ํฐ python (0) | 2023.01.05 |
---|---|
[๋ฐฑ์ค] 1874๋ฒ: ์คํ ์์ด python (0) | 2023.01.04 |
[๋ฐฑ์ค] 9093๋ฒ: ๋จ์ด ๋ค์ง๊ธฐ python (0) | 2023.01.02 |
[๋ฐฑ์ค] 10828๋ฒ: ์คํ - python (0) | 2023.01.01 |
[๋ฐฑ์ค] 11729๋ฒ: ํ๋ ธ์ด์ ํ ์ด๋ ์์ - python (0) | 2022.12.30 |