백준 1541 잃어버린 괄호 Python

Derhon·2023년 12월 11일
0
post-custom-banner

백준 1541 잃어버린 괄호

17.38

나의 답

import sys
input = sys.stdin.readline

form = list(input().rstrip())
val = 0
prev = '+'
nums = []

for el in form:
    if el == '+':
        if prev == '+':
            val += int(''.join(nums))
        elif prev == '-':
            val -= int(''.join(nums))
        nums.clear()
    elif el == '-':
        if prev == '+':
            val += int(''.join(nums))
        elif prev == '-':
            val -= int(''.join(nums))
        nums.clear()
        prev = '-'
    else:
        nums.append(el)

if prev == '+':
    val += int(''.join(nums))
elif prev == '-':
    val -= int(''.join(nums))

print(val)

맞긴했는데 너무 마구잡이로 풀어서 코드가 너무 길다!

개선

import sys
input = sys.stdin.readline

form = list(input().rstrip())
val = 0
prev = '+'
nums = []

def cal():
    global val
    if prev == '+':
        val += int(''.join(nums))
    elif prev == '-':
        val -= int(''.join(nums))
    nums.clear()

for el in form:
    if (el == '+') or (el == '-'):
        cal()
        if el == '-': prev = '-'
    else:
        nums.append(el)

cal()

print(val)

아주 약간의 시간과 코드 라인을 줄였다

실버 그리디는 착하네..^^

profile
🧑‍🚀 이사했어요 ⮕ https://99uulog.tistory.com/
post-custom-banner

0개의 댓글