알고리즘/백준

백준 1541: 잃어버린 괄호 (Python)

sssbin 2021. 9. 27. 19:03

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

 

1541번: 잃어버린 괄호

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

www.acmicpc.net

 

s = input()
s = s.split('-')
s2 = []
res = 0

if s[0].isdigit():
    res += int(s[0])
else:
    s2 = s[0].split('+')
    for i in s2:
        res += int(i)
del s[0]

for i in s:
    if i.isdigit():
        res -= int(i)
    else:
        s2.clear()
        s2 = list(map(int, i.split('+')))
        res -= sum(s2)

print(res)

 

 

맞긴 맞았는데,,, 코드가 어마무시하게 길어서,, 다시 다듬어봤다,,

 

s = input().split('-')
res = 0

for i in range(len(s)):
    for j in s[i].split('+'):
        if i == 0:
            res += int(j)
        else:
            res -= int(j)

print(res)

 

다시 생각해보니 굳이 숫자냐고 묻지 않아도 됐음,,,

 

첫 코드는 잘못 짜서 버렸는데 왜 시간이 제일 짧은건지,,

 

나의 시행착오 ㅠㅠ

 

 

'알고리즘 > 백준' 카테고리의 다른 글

백준 5585: 거스름돈 (Python)  (0) 2021.09.29
백준 1026: 보물 (Python)  (0) 2021.09.29
백준 1931: 회의실 배정 (Python)  (0) 2021.09.27
백준 11047: 동전 0 (Python)  (0) 2021.09.25
백준 11399: ATM (Python)  (0) 2021.09.25