Tags
- BFS
- dfs
- CodingTest
- Dynamic Programming
- ์ํ
- ์๋ฎฌ๋ ์ด์
- ๊น์ด ์ฐ์ ํ์
- ๊ทธ๋ํ ์ด๋ก
- LV2
- sort
- BOJ
- ์ ์๋ก
- Java
- ๋ฐฑํธ๋ํน
- ๊ทธ๋ํ ํ์
- ์๋ฃ๊ตฌ์กฐ
- greedy
- PGM
- stack
- ๊ตฌํ
- ๋ฌธ์์ด
- ์ ๋ ฌ
- SpringBoot
- queue
- DP
- ๋๋น ์ฐ์ ํ์
- ๊ต์ฌ
- Brute Force Algorithm
- Python
- Study
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1935 : ํ์ ํ๊ธฐ์2 ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ํ์ ํ๊ธฐ์์ ๊ตฌํํ๋ ๋ฌธ์ ์ด๋ค.
- ํ์ ํ๊ธฐ์์ ์ฐ์ฐ์ ์์ ๋ ์์ ์ฐ์ฐ์๋ฅผ ์ ์ฉํ๋ ๊ณ์ฐ๋ฒ์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
N = int(input())
order = list(input())
num = []
for i in range(N):
num.append(int(input()))
stack = []
for i in order:
if i >= 'A' and i <= 'Z':
stack.append(num[ord(i)-ord('A')])
else:
if i == '*':
stack.append(stack.pop() * stack.pop())
elif i == '+':
stack.append(stack.pop() + stack.pop())
elif i == '/':
b = stack.pop()
a = stack.pop()
stack.append(a / b)
elif i == '-':
b = stack.pop()
a = stack.pop()
stack.append(a - b)
print("{:.2f}".format(stack.pop()))
๐ธ ์ฝ๋ ํด์ ๐ธ
- ํ๊ธฐ์๊ณผ ABC์ ํด๋นํ๋ ์ซ์๋ฅผ ๋จผ์ ์ ๋ ฅ๋ฐ์๋ค.
- ABC์ ์ ๋ ฅ๋ฐ์ ์ซ์๋ฅผ ์ ์ฉํ๊ธฐ ์ํด์ ์์คํค ์ฝ๋ ๋ณํ ํจ์ ord()๋ฅผ ์ฌ์ฉํ๋ค.
- ๋๋๊ธฐ์ ๋นผ๊ธฐ ์ฐ์ฐ์ ์ซ์์ ์์๋ฅผ ๋ฐ๊ฟ์ ์ ์ฉํด์ผํ๋ค.
๐ธ end ๐ธ
- ABC๊ฐ ์์๋๋ก ์ซ์๋ฅผ ์ ์ฉํ๋ ์ค ์์๋๋ฐ A๊ฐ ์ฌ๋ฌ๋ฒ ๋์ค๋ ๋ฑ ์ค๋ณต ์ฌ์ฉ์ด ์์ด์ ์ ์ฅ์ผ๋ก ๋ฐฉ๋ฒ์ ๋ณ๊ฒฝํ๋ค.
- ํ์ ํ๊ธฐ์์ ๊ณต๋ถํ์ง ์ค๋ ๋์๋๋ฐ, ๋ค์ ์ดํดํ๋๋ฐ ์ด๋ ต์ง ์์๋ค.
728x90
'CodingTest > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_12873 : ๊ธฐ๋ ํ (0) | 2022.08.15 |
---|---|
BOJ_18258 : ํ 2 (0) | 2022.08.15 |
BOJ_17608 : ๋ง๋๊ธฐ (0) | 2022.08.14 |
BOJ_10845 : ํ (0) | 2022.08.11 |
BOJ_10816 : ์ซ์ ์นด๋ 2 (0) | 2022.08.10 |