728x90
문제
풀이
n=input().split('-')
list1=[]
for i in range(len(n)):
n2=list(map(int,n[i].split('+')))
list1.append(sum(n2))
solve=list1[0]
for i in range(1,len(list1)):
solve-=list1[i]
print(solve)
문자열 파싱하는 것이 중요한 문제이다.
우선 split('-')으로 문자열을 자르고 리스트를 확인하면, 어떤 식으로 풀어야할 지 감이 잡힌다.
괄호를 임의로 넣어서 최소값이 나오게 하려면 '-'연산자 이후의 '+'연산자 들을 묶어주면 된다.
'-'를 기준으로 파싱하면 첫 숫자를 제외한 '+'연산자 들만 모이게 되는데 이를 sum으로 합해주고
첫 숫자에서 차례로 빼주면 된다.
'PS' 카테고리의 다른 글
[백준] 18111번 : 마인크래프트 (브루트포스 알고리즘)- 파이썬[Python] (0) | 2022.01.20 |
---|---|
[백준] 13305번 : 주유소(탐욕 알고리즘)- 파이썬[Python] (0) | 2022.01.18 |
[백준] 1931번 : 회의실배정(탐욕 알고리즘)- 파이썬[Python] (0) | 2022.01.17 |
[백준] 11399번 : ATM(탐욕 알고리즘)- 파이썬[Python] (0) | 2022.01.16 |
[백준] 10989번 : 수 정렬하기 3- 파이썬[Python] (0) | 2022.01.13 |
댓글