| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |
- ํค ์ข ๋ฅ
- ๋ฌด๊ฒฐ์ฑ
- latent factor
- latent factor model
- Key ์ข ๋ฅ
- CREATETABLE
- sklearn
- knn_classify
- ์ฃผ์ฑ๋ถ ์ฐพ๊ธฐ
- ํ์ด์ฌ
- ํ
- ์๊ณ ๋ฆฌ์ฆ
- SQL
- ๋ฌธ์์ด
- Hyperlink Graphs
- ํด๋ฆฐ์ฝ๋
- ์ธ๋๋ณ๊ฐ๋น์ง์ปฌ๋ ํฐ
- ๋ฌด๊ฒฐ์ฑ์ ์ง
- TDD
- ์ ์ฌ์์๋ชจ๋ธ
- SQLDDL
- ๋ถ๊ฝ๋ฐ์ดํฐ์
- ๋ฐฑ์ค
- Python
- ์ฌ์ดํท๋ฐ
- ๋ฌด๊ฒฐ์ฑ์ ์ง๋ฉ์ปค๋์ฆ
- ์ปจํ ์ด๋๊ฐ์ฒด
- RENAMETABLE
- DROPTABLE
- ALTERTABLE
- Today
- Total
DonHurry
[Python] ๋ฐฑ์ค 5397๋ฒ - ํค๋ก๊ฑฐ ๋ณธ๋ฌธ
๐ ๋ฌธ์
5397๋ฒ: ํค๋ก๊ฑฐ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฐ์ด๊ฐ ์ ๋ ฅํ ์์๋๋ก ๊ธธ์ด๊ฐ L์ธ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. (1 ≤ L ≤ 1,000,000) ๊ฐ์ฐ์ด๊ฐ ๋ฐฑ์คํ์ด์ค๋ฅผ ์
www.acmicpc.net
๐ ํ์ด
์ฐ๊ฒฐ๋ฆฌ์คํธ ํน์ ์คํ์ ์ด์ฉํ์ฌ ํธ๋ ๋ฌธ์ ์ ๋๋ค. ์๋ ์ฝ๋๋ ์คํ์ ํ์ฉํ์์ต๋๋ค.
์ฐ์ , ํ์ฌ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ผ๋ก ๋๋์ด ๊ธ์๋ฅผ ๋ด์ ๋ฆฌ์คํธ๋ฅผ ์์ฑํด์ค๋๋ค.
์ดํ ์ปค์์ ์์น๊ฐ ์ด๋ํ ๋๋ง๋ค ๋ฆฌ์คํธ๋ฅผ ๊ฐฑ์ ํด์ค๋๋ค.
์๋ฅผ ๋ค์ด, ์ปค์๊ฐ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ด๊ธฐ ์ํด์๋ ์ค๋ฅธ์ชฝ์ ์๋ ๊ธ์๋ฅผ ์ผ์ชฝ ๋ฆฌ์คํธ๋ก ์ฎ๊ฒจ์ฃผ์ด์ผ ํฉ๋๋ค. ์ด๋ ์ค๋ฅธ์ชฝ ๋ฆฌ์คํธ์์๋ ์ฒซ๋ฒ์งธ ์์๋ฅผ ๋ฝ์์ค๊ฒ ๋๋๋ฐ, ๋ฆฌ์คํธ๋ pop(0)๋ฅผ ์ฌ์ฉ ์ O(n)์ ๋น์ฉ์ด ํ์ํ๊ฒ ๋ฉ๋๋ค. ๋๋ฌธ์ ์๊ฐ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด์ O(1)์ ๋น์ฉ์ด ๋๋ pop()๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ์์ผ๋ก ์ค๋ฅธ์ชฝ ๋ฆฌ์คํธ๋ ์ญ์์ผ๋ก ์ ์ฅํ๊ณ , ๋ง์ง๋ง์ ๋ค์ง์ด์ ์ผ์ชฝ ๋ฆฌ์คํธ์ ๋ํด์ค๋๋ค.
๐ป ์ฝ๋
import sys
input = sys.stdin.readline
for _ in range(int(input())):
secret_order = input().strip()
pre_stack = []
post_stack = []
# ํ์ดํ๋ก ํ์ฌ ์์น๊ฐ ์ฎ๊ฒจ์ง ๋๋ง๋ค ํ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ชฝ์ pre, ๋ค์ชฝ์ post์ ์ ์ฅ
# ์ด๋ ์๊ฐ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด post๋ ๊ฑฐ๊พธ๋ก ์ ์ฅ
# ์์ ์ธ๋ฑ์ค ์์๋ฅผ ์ ๊ฑฐ ์ O(n), pop()์ ์ด์ฉํ ์ O(1)
for order in secret_order:
if order == '-':
if pre_stack: pre_stack.pop()
elif order == '<':
if pre_stack: post_stack.append(pre_stack.pop())
elif order == '>':
if post_stack : pre_stack.append(post_stack.pop())
else:
pre_stack.append(order)
# pre_stack์ ๊ทธ๋๋ก, post_stack์ ๋ค์ง์ด์ ํฉ์น๊ธฐ
answer = ''.join(pre_stack) + ''.join(post_stack)[::-1]
print(answer)
'Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Python] ๋ฐฑ์ค 1197๋ฒ - ์ต์ ์คํจ๋ ํธ๋ฆฌ (0) | 2022.11.10 |
|---|---|
| [Python] ๋ฐฑ์ค 2941๋ฒ - ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2022.11.09 |
| [Python] ๋ฐฑ์ค 14235๋ฒ - ํฌ๋ฆฌ์ค๋ง์ค ์ ๋ฌผ (0) | 2022.11.08 |
| [Python] ๋ฐฑ์ค 13335๋ฒ - ํธ๋ญ (0) | 2022.11.06 |
| [Python] ๋ฐฑ์ค 2605๋ฒ - ์ค ์ธ์ฐ๊ธฐ (1) | 2022.11.04 |