[백준] 1541번 : 잃어버린 괄호 (파이썬)

뚝딱이 공학도·2022년 2월 10일
0

문제풀이_백준

목록 보기
54/160




문제





나의 답안

s=input().split('-')
re=0

for i in s[0].split('+'):
    re+=int(i)
    
for i in s[1:]: 
    for j in i.split('+'):
        re-=int(j)
        
print(re)

접근 방법

  • 마이너스(-)가 나오기 전까지 식의 값은 최소가 될 수 없다.
  • 따라서 마이너스가 나오기 전까지 모든 값을 더해주고, 마이너스가 나온 후에는 나머지 모든 숫자를 빼주면 된다.
  1. split로 -를 기준으로 식(s)을 분리해준다.
    (ex. 50+50+60-10+50 ['50+50+60', '10+50'])
  2. 분리한 식(s)을 기준으로 첫번째 인자를 다시 '+'를 기준으로 분리해준다.
    (ex. ['50','50','60'] )
  3. 2.에서 분리한 인자값을 모두 더해준다(re). 이때, 정수형으로 변환해주어야 한다.
  4. 반복문으로 원래 입력한 값(s)에서 마이너스 이후의 값에 접근한다.(s[1:])
    (ex. ['10+50'])
    반복문으로 이를 '+'로 분리한다.
    (ex. ['10','50'])
  5. 3.에서 구한 값에 4.의 각 값을 빼준다.

0개의 댓글