[백준][Python][Greedy] 잃어버린 괄호

📃 문제

💻 문제 풀이

data = input().split('-')	# 우선 '-' 기준으로 입력 받은 값 나눠주기

result = 0
for i in range(len(data)):
    data[i] = sum(map(int, data[i].split('+')))	# '+'값으로 나눈 뒤 두 수를 더해준다.
    if i == 0:
        result = data[i]

    if i > 0:
        result -= data[i]

print(result)

중요 포인트

  1. 마이너스를 만날 때 가장 큰 수를 빼면 된다.
  2. 조건 중 '연속해서 두 개의 연산자가 나타나지 않고' 라는 말이 있다.
    = '-'가 나오면 그 뒤에는 '+'라는 말이다.
    = '-' 만났을 때 다음 2개를 더해주면 '가장 큰 수'
  3. i > 0 이상 부터는 계속해서 더해준 값을 빼준다.
    = 원래 '-' 자리이다.
  • 입력 값이 55-50+40 이라면 input().split('-')로 인해 data = ['55', '50+40']가 된다.
  • 반복문을 통해 ['50+40'][50, 40] 로 변경 후 sum()을 통해 더해준다.
  • i=0이면 값을 넣어주고 i > 0다면 값을 빼준다.

좋은 웹페이지 즐겨찾기