Algorithm/백준
[Python] 1541 잃어버린 괄호
내영잉
2022. 12. 27. 02:14
1. 문제 📚
https://www.acmicpc.net/problem/1541
2. 입출력 예 📋
3. 알고리즘 ✅
그리디 -> 최소로 만들려면 - 앞에서 괄호로 묶어서 -를 최대한 많이 만들어줘야함
4. 소스코드 💻
import sys
input = sys.stdin.readline().strip()
input_arr = []
num = ''
index = 0
temp = input
# 숫자와 기호를 분리해주는 작업
while len(input) != 0:
if input[0] == '-' or input[0] == '+':
input_arr.append(int(num))
num = ''
input_arr.append(input[0])
else:
num += input[0]
index += 1
input = temp[index:]
# 마지막은 무조건 숫자임
if len(input) == 0:
input_arr.append(int(num))
minus_flag = False
for i in range(len(input_arr)):
# 마이너스를 만나는 순간 괄호로 묶어주어 뒷부분을 다 마이너스 처리해주기 위함
if input_arr[i] == '-':
minus_flag = True
if minus_flag and (input_arr[i] != '+' and input_arr[i] != '-'):
input_arr[i] = (-1) * input_arr[i]
answer = 0
for i in input_arr:
# 기호가 아니고 숫자만 계산
if i != '+' and i != '-':
answer += i
print(answer)