Coding Problem/백준

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

마탁이 2021. 5. 28. 12:37

https://www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net

  • 최소값을 구해야 한다는 것에 초점을 맞추면 풀 수 있다.
  • 내가 구현한 코드는 남들보다 코드 길이는 길었지만 (C++만 사용하던 사람이라는 변명...) 속도는 64ms로 조금 빠른 편이다.
더보기
inputData = list(input())

parsedList = []
number = ''
for data in inputData:
    if '-' != data and '+' != data: number += data
    else:
        parsedList.append(number)
        number = ''
        parsedList.append(data)

if 0 < len(number): parsedList.append(int(number))

sumValue = 0
addValue = 0

isMinus = False
for item in parsedList:
    if '-' == item or '+' == item:            
        if False == isMinus and '-' == item:
            isMinus = True

    else:
        value = int(item)
        if(False == isMinus): sumValue += value
        else: addValue += value

if(True == isMinus): sumValue = sumValue - addValue
else: sumValue = sumValue + addValue

print(sumValue)

'Coding Problem > 백준' 카테고리의 다른 글

[백준] 1931 - 회의실 배정  (0) 2021.05.28
[백준] 13305 - 주유소  (0) 2021.05.28
[백준] 11047 - 동전 0  (0) 2021.05.28
[백준] 11399 - ATM  (0) 2021.05.28
[백준] 2580 - 스도쿠  (0) 2021.05.23