[백준] 잃어버린 괄호 1541번

나의 풀이

nums = input().split("-")
result = 0
result += sum(map(int, nums[0].split("+")))
for i in range(1, len(nums)):
    _sum = sum(map(int, nums[i].split("+")))
    result -= _sum
print(result)
  • 쉬워 보였는데 은근 머리 꽁꽁 싸매고 풀었다.
  • -를 기준으로 입력 값을 나눠준다.
  • -로 나눴을 때 맨 처음 값은 일반적인 숫자 하나의 값과 +로 이루어진 식 이렇게 두 가지가 올 수 있다.
  • 그렇기 때문에 리스트의 첫 번째 값을 +로 나눠주고 int형으로 바꾼 다음에 합을 result 에 더해준다. 이렇게 하면 +로 이루어진 식이라면 더해진 값이 될테고, 아니라면 그냥 숫자 하나의 값이 result에 더해질 것이다.
  • 만약 뒤에 식이 더 있다면 for문을 탈 것이다. for문 부터의 식은 -로 잘려진 식이나 값이기 때문에 마찬가지로 +로 나눠서 합을 구하고 result에서 빼주면 된다.

0개의 댓글