728x90

< 해결 방법 >

연산자 까지 구별을 하는 방식으로 풀었는데 다행히 시간 초과는 나오지 않았다. 하지만 - 기호에 따라 나눈 후 이를 다시 + 기호에 따라 split 하는 방법으로 손쉽게 풀 수 있다는 사실을 알게 되었다.

 

import sys
 
a = list(sys.stdin.readline().rstrip())
 
k = [ ]
ans = [ ]
answer = 0
 
num = ["1","2","3","4","5","6","7","8","9","0"]
 
str = ""
for i in range(0,len(a)):
    if a[i] in num:
        str += a[i]
        if i==len(a)-1:
            k.append(int(str))
    else:        
        k.append(int(str))
        k.append(a[i])
        str=""
 
for i in range(0,len(k)-1):
    if k[i+1]=="+":
        k[i+2]=k[i]+k[i+2]
        k[i]="#"
        k[i+1]="#"
 
while '#' in k:
    k.remove("#")
 
for i in range(0,len(k)-1):
    if k[i+1]=="-":
        k[i+2]=k[i]-k[i+2]
        k[i]="#"
        k[i+1]="#"
 
 
print(k[-1])
 
 
728x90

+ Recent posts