๋ฐฑ์ค€ & ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/greedy

[๋ฐฑ์ค€ 1541] [greedy] ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

_cactus 2021. 4. 18. 14:43
๋ฐ˜์‘ํ˜•

๐Ÿ’ป ๋ฐฑ์ค€ 1541๋ฒˆ [์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ]

1541๋ฒˆ: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ โ€˜0โ€™~โ€˜9โ€™, โ€˜+โ€™, ๊ทธ๋ฆฌ๊ณ  โ€˜-โ€™๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค

www.acmicpc.net

ํ’€์ด)

# ์ตœ์ข…์ œ์ถœ
import re
eq = input()
num_lst = re.split('[+|-]',eq)
stack = []
stack.append(int(num_lst[0]))
i = 1
for ch in eq : 
    if ch.isnumeric() == False :
        if ch == '+' :
            stack.append(int(stack.pop()) + int(num_lst[i]))
        else :
            stack.append(int(num_lst[i]))
        i+=1
print(stack)
res = stack[0]
for i in range(1,len(stack)) :
    res -= stack[i]        
print(res)
# ==> ๋ฉ”๋ชจ๋ฆฌ : 330K4B, ์‹œ๊ฐ„ : 140ms, ์ฝ”๋“œ๊ธธ์ด : 388B

 

 

728x90
๋ฐ˜์‘ํ˜•