๊ธฐ๋ก๋ฐฉ

BOJ_1935 : ํ›„์œ„ ํ‘œ๊ธฐ์‹2 ๋ณธ๋ฌธ

CodingTest/Python

BOJ_1935 : ํ›„์œ„ ํ‘œ๊ธฐ์‹2

Soom_1n 2022. 8. 14. 20:51

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

1935๋ฒˆ: ํ›„์œ„ ํ‘œ๊ธฐ์‹2

์ฒซ์งธ ์ค„์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐœ์ˆ˜(1 ≤ N ≤ 26) ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ํ›„์œ„ ํ‘œ๊ธฐ์‹์ด ์ฃผ์–ด์ง„๋‹ค. (์—ฌ๊ธฐ์„œ ํ”ผ์—ฐ์‚ฐ์ž๋Š” A~Z์˜ ์˜๋Œ€๋ฌธ์ž์ด๋ฉฐ, A๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ N๊ฐœ์˜ ์˜๋Œ€๋ฌธ์ž๋งŒ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ธธ์ด

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ํ›„์œ„ ํ‘œ๊ธฐ์‹์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.
    • ํ›„์œ„ ํ‘œ๊ธฐ์‹์€ ์—ฐ์‚ฐ์ž ์•ž์˜ ๋‘ ์ˆ˜์— ์—ฐ์‚ฐ์ž๋ฅผ ์ ์šฉํ•˜๋Š” ๊ณ„์‚ฐ๋ฒ•์ด๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

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