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

거북이·2023년 1월 23일
0

백준[실버2]

목록 보기
4/81
post-thumbnail

💡문제접근

  • 문제 이해는 빨랐지만 코드로 옮기는 과정에서 정말 많은 시간이 소요되었던 문제였다. 여러 코드를 작성하고 돌려봤지만 WA, 런타임에러(ValueError), 런타임에러(SyntaxError) 등이 계속해서 나왔다.
  • 매개변수로 받은 expression(식)을 문자열로 받아서 실행하는 함수인 eval()을 이용해서 풀어봤지만 SyntaxError이 계속 나왔다.
  • 값을 최소로 만들기 위해서 -를 기준으로 split해준 다음 첫 번째 값은 더해주고 그 뒤의 값들은 전부 빼주면 된다. 이 때, 뒤에 있는 값에 +가 들어있는 경우 역시 split()해준 다음 하나하나 빼주는 방식으로 코드를 작성했다.

💡코드(메모리 : 30616KB, 시간 : 40ms)

op = list(input().split("-"))
result = 0
for i in op[0].split("+"):
    result += int(i)
for i in range(1, len(op)):
    for j in op[i].split("+"):
        result -= int(j)
print(result)

💡소요시간 : 2h

0개의 댓글