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 |