반응형
문제 링크 : https://www.acmicpc.net/problem/1541
풀이
sik = input()
# 마이너스 부호로 split
sik = sik.split('-')
# 쪼개진 식들을 연산후 리스트에 넣기
answer = []
for i in sik:
# +로 묶였을 경우 쪼개주고 리스트로 구분 -> sum해서 한번에 계산, 단독이라면 그냥 sum
res = list(map(int, i.split('+')))
answer.append(str(sum(res)))
# 최종 리스트를 "-"로 조인후 eval
print(eval("-".join(answer)))
- ‘-’로 쪼개인 애들에 대해서 다시 ‘+’로 쪼개고 리스트로 map하는 것을 생각하는 것에 오래 걸렸다
- eval 은 문자열로 식이 주어지면 자동으로 계산한다. 하지만 문자열에 0009+0123처럼 앞에 0이 붙으면 에러가 발생함 → 위처럼 쪼개서 리스트로 만든 다음 sum하는 것을 생각
반응형
'알고리즘' 카테고리의 다른 글
[BOJ/백트래킹] N과 M (2) (0) | 2023.05.23 |
---|---|
[BOJ/완전탐색] 1018 체스판 다시 칠하기 (0) | 2023.05.23 |
[BOJ/그리디] 1931 회의실배정 (0) | 2023.05.15 |
[BOJ/그리디] 13305 주유소 (0) | 2023.05.15 |
[BOJ/그리디] 11047 동전 0 (0) | 2023.05.15 |