반응형
-풀이
n=input().split('-')
e=sum(map(int,(n[0].split('+'))))
for i in range(1,len(n)):
e-=sum(map(int,(n[i].split('+'))))
print(e)
-풀이 설명(느낀점)
먼저 최소값을 구하려면 +계산부터 먼저 해줘야한다는 규칙을 생각해내었다. 그런데 어떻게 + 연산만 먼저 해줘야할지 방법이 떠오르지 않았다. 해결책은 간단했다.
1. split('-')함수를 사용하여 -연산을 제외하여 문자열 형식으로 리스트(n)에 담아준다.
2. + 연산을 하기 위해 리스트에 담긴 문자열들을 다시 split('+')함수를 이용하여 sum함수로 각각 먼저 더해준다.
3. 그런 다음 0번째 인덱스 원소 값 e에서 차례대로 뒤 인덱스들을 - 연산해주면 답을 찾을 수 있다.
'알고리즘' 카테고리의 다른 글
[백트래킹,조합] 1759 파이썬 (암호 만들기) 골드5 (0) | 2022.01.03 |
---|---|
[분할정복] 백준 1780 파이썬 (종이의 개수) 실버2 (0) | 2022.01.02 |
[수학] 백준 1024 파이썬 (수열의 합) 실버2 (0) | 2021.12.31 |
[수학] 백준 1011 파이썬 (Fly me to the Alpha Centauri) 골드5 (0) | 2021.12.30 |
[DP] 백준 1309 파이썬 (동물원) 실버1 (0) | 2021.12.29 |