[알고리즘] 백준 1541 잃어버린 괄호 : - S2

eternal moment·2023년 4월 24일
0

2023.04.24 풀이

import sys
input=sys.stdin.readline

s=input().split('-')
arr=[]

for i in s:
    if '+' in i:
        s1=sum(list(map(int, i.split('+'))))
    else:
        s1=int(i)
    arr.append(s1)

res=arr[0]
for i in range(1, len(arr)):
    res-=arr[i]

print(res)

2023.05.12 풀이

import sys
input=sys.stdin.readline

s=list(map(str, input().split('-')))

res=0
for i in range(len(s)):
    if '+' in s[i]:
        k=list(map(int, s[i].split('+')))
        res-=sum(k)
        if i==0:
            res+=sum(k)*2
    else:
        res-=int(s[i])
        if i==0:
            res+=int(s[0])*2
print(res)


다른 풀이

arr = input().split('-')
s = 0
for i in arr[0].split('+'):
    s += int(i)
for i in arr[1:]:
    for j in i.split('+'):
        s -= int(j)
print(s)

a = input().split('-')
num = []
for i in a:
    cnt = 0
    s = i.split('+')
    for j in s:
        cnt += int(j)
    num.append(cnt)
n = num[0]
for i in range(1, len(num)):
    n -= num[i]
print(n)

check point

  • TypeError: 'int' object is not callable
    예약어들을 변수명으로 사용하면서 겹침 (sum(), max(), len() 등 )
  • 마이너스 기호를 만날 때 다음 마이너스 까지, 다음 마이너스가 없다면 끝까지 모든 수를 더해서 한 번에 빼주는 방법

0개의 댓글