새소식

백준(BOJ)

[백준]1541번 잃어버린 괄호 : 파이썬(python) 설명

  • -
반응형

 

https://www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net

Hint

X

 

Solution

수학을 이용하여 해결하였는데 앞에 마이너스가 있으면

그 뒤에 플러스는 항상 빼기를 하면 됩니다

 

L=list(str(input()))
L2=[]
sign=0 #전에 마이너스가 부호가 있으면 1 없으면 0
result=0
for i in L:
    if i!="-" and i !="+":
        if len(L2)!=0:
            L2[-1]+=i
        else:
            L2.append(i)
    else:
        L2.append(i)

for i in range(len(L2)):
    L2[i]=int(L2[i]) # L2 안에 있는 값 정수화

for i in range(len(L2)):
    if sign==0: #이전에 마이너스가 없는 경우
        if L2[i]<0:
            sign=1 #이 수 이후에는 계속 빼기만
            result+=L2[i]
        else:
            result+=L2[i]
    else: #이전에 마이너스가 있었던 경우
        if L2[i]<0:
            result+=L2[i]
        else:
            result-=L2[i]
print(result)
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.