
1935. ํ์ ํ๊ธฐ์2 (silver 3)
# ์๋ฃ๊ตฌ์กฐ
ํ์ ํ๊ธฐ์๊ณผ ๊ฐ ํผ์ฐ์ฐ์์ ๋์ํ๋ ๊ฐ๋ค์ด ์ฃผ์ด์ ธ ์์ ๋, ๊ทธ ์์ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํผ์ฐ์ฐ์์ ๊ฐ์(1 ≤ N ≤ 26) ๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ๋ฆฌ๊ณ ๋์งธ ์ค์๋ ํ์ ํ๊ธฐ์์ด ์ฃผ์ด์ง๋ค. (์ฌ๊ธฐ์ ํผ์ฐ์ฐ์๋ A~Z์ ์๋๋ฌธ์์ด๋ฉฐ, A๋ถํฐ ์์๋๋ก N๊ฐ์ ์๋๋ฌธ์๋ง์ด ์ฌ์ฉ๋๋ฉฐ, ๊ธธ์ด๋ 100์ ๋์ง ์๋๋ค) ๊ทธ๋ฆฌ๊ณ ์ ์งธ ์ค๋ถํฐ N+2๋ฒ์งธ ์ค๊น์ง๋ ๊ฐ ํผ์ฐ์ฐ์์ ๋์ํ๋ ๊ฐ์ด ์ฃผ์ด์ง๋ค. 3๋ฒ์งธ ์ค์๋ A์ ํด๋นํ๋ ๊ฐ, 4๋ฒ์งธ ์ค์๋ B์ ํด๋นํ๋๊ฐ , 5๋ฒ์งธ ์ค์๋ C ...์ด ์ฃผ์ด์ง๋ค, ๊ทธ๋ฆฌ๊ณ ํผ์ฐ์ฐ์์ ๋์ ํ๋ ๊ฐ์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
ํ์ ํ๊ธฐ์์ ์์์๋ถํฐ ๊ณ์ฐํ์ ๋, ์์ ๊ฒฐ๊ณผ์ ์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ -20์ต๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 20์ต๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ๋ ฅ๋ง ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์์ซ์ ๋์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ1
5
ABC*+DE/-
1
2
3
4
5
์์ ์ถ๋ ฅ1
6.20
์์ ์ ๋ ฅ2
1
AA+A+
1
์์ ์ถ๋ ฅ2
3.00
ํ์ด)
๋จผ์ ํผ์ฐ์ฐ์์ ๊ฐ์ n์ ์ ๋ ฅํ๊ณ , ๊ทธ ๋ค์ word์ ํ์ํ๊ธฐ์์ ์ ๋ ฅํ๋ค.
n๊ฐ๋งํผ ๋ฐฐ์ด์ ์ ์ฅํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฏธ๋ฆฌ num๋ฐฐ์ด์ 0์ n๊ฐ๋งํผ ์ด๊ธฐํํด์ฃผ์๋ค.
for๋ฌธ์ ์ฌ์ฉํด์ ํผ์ฐ์ฐ์์ ๊ฐ์ n๋งํผ ๋ฐ๋ณต๋ฌธ์ ๋๋ ค์ num๋ฐฐ์ด์ ํผ์ฐ์ฐ์๋ฅผ ์ ์ฅํด์ฃผ์๋ค.
๊ทธ ๋ค์ ํ์ํ๊ธฐ์์ ๊ณ์ฐํ stack ๋ฐฐ์ด์ ์ ์ธํด์ฃผ์๋ค.
ํผ์ฐ์ฐ์๋ฅผ ์ ์ฅํ ๋ฐฐ์ด์ for๋ฌธ์ ์ฌ์ฉํด์ ์์๊ฐ์ ๊ฒ์ฌํด์ฃผ์๋๋ฐ, if๋ฌธ์ ์ฌ์ฉํด์ ๋ง์ฝ ์์๊ฐ์ด ์ํ๋ฒณ์ด๋ฉด ํผ์ฐ์ฐ์์ด๊ธฐ ๋๋ฌธ์ stack์ ํผ์ฐ์ฐ์ ํํ๋ก ์ ์ฅํด์ฃผ์๋ค.
else๋ฌธ์์๋ ์ฐ์ฐ์์ด๊ธฐ ๋๋ฌธ์ ํผ์ฐ์ฐ์ ๋ ๊ฐ๋ฅผ ๊บผ๋ด์ ์ฌ์น์ฐ์ฐ์ ๊ณ์ฐํด์ฃผ์๋ค.
๋ง์ง๋ง์ผ๋ก %.2f ํฌ๋งทํ์์ ์ฌ์ฉํด์ ์ฐ์ฐ๊ฒฐ๊ณผ์ ํด๋นํ๋ 0๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ์์์ ๋์งธ์๋ฆฌ๊น์ง ์ถ๋ ฅํด์ฃผ์๋ค.
n = int(input())
word = input() # ํ์ํ๊ธฐ์ ์ ์ฅ
num = [0] * n # ํผ์ฐ์ฐ์ ์ ์ฅ
for i in range(n):
num[i] = int(input()) # ํผ์ฐ์ฐ์๊ฐ ๋ฐ๊ธฐ
stack = [] # ํ์ํ๊ธฐ์ ๊ณ์ฐํ ์คํ ์์ฑ
for i in word :
if 'A' <= i <= 'Z' : # ์ํ๋ฒณ์ผ๋ stack์ ์ ์ฅํ๋ค.
stack.append(num[ord(i)-ord('A')]) # ํผ์ฐ์ฐ์ ํํ๋ก ์ ์ฅ
else : # ์ฐ์ฐ์์ผ ๋
str2 = stack.pop() # stack ๋ฆฌ์คํธ์ ๋ง์ง๋ง ํผ์ฐ์ฐ์ 2๊ฐ๋ฅผ ๊บผ๋ด์์ ๊ณ์ฐํ๋ค.
str1 = stack.pop()
# ์ฌ์น์ฐ์ฐ ๊ณ์ฐ
if i =='+' :
stack.append(str1+str2)
elif i == '-' :
stack.append(str1-str2)
elif i == '*' :
stack.append(str1*str2)
elif i == '/' :
stack.append(str1/str2)
print('%.2f' %stack[0]) # ์์์ 2๋ฒ์งธ ์๋ฆฟ์๊น์ง ์ถ๋ ฅ
'๋ฐฑ์ค > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ฐฑ์ค 14402๋ฒ (0) | 2022.11.21 |
---|---|
[Python] ๋ฐฑ์ค 10816๋ฒ (0) | 2022.11.21 |
[Python] ๋ฐฑ์ค 2910๋ฒ (0) | 2022.11.20 |
[Python] ๋ฐฑ์ค 17413๋ฒ (0) | 2022.11.20 |
[Python] ๋ฐฑ์ค 9375๋ฒ (0) | 2022.11.12 |