PS/백준
[Python] 1541번 잃어버린 괄호
s_omi
2024. 7. 14. 10:14
✏️ 문제
문제 파악
- 기호를 기준으로 나누어서 나눈 값끼리 다 더해주면 - 기호와 붙었을 때 최대로 빼게 되므로 split() 함수를 통해 - 기호를 기준으로 나누어준다.
예제1 같은 경우
+ 기호 때문에 숫자 배열에 넣을 수 없으므로 배열에 집어넣으면 ['55', '50+40'] 와 같이 되는데
문자열 내에 + 기호가 있으면 + 기호를 기준으로 나누어 숫자로 타입을 바꾼 후 두 개의 합을 배열에 다시 넣어주고
문자열 내에 + 기호가 없으면 그냥 숫자로 타입을 바꾼 후 배열에 다시 넣어준다.
그 후 배열[0] 값에서 뒷 배열의 값을 전부 빼주면 된다.
알고리즘
- 수학
- 그리디 알고리즘
- 문자열
- 파싱
코드
str1 = input().split('-')
for i in range(len(str1)):
if '+' in str1[i]:
str1[i] = sum(map(int, (str1[i].split('+'))))
else:
str1[i] = int(str1[i])
print(str1[0] - sum(str1[1:])) # 뒷 배열의 값들의 합을 뺌