-
[BOJ 1541, Python 3] 잃어버린 괄호알고리즘/BOJ 2021. 8. 4. 14:13반응형
https://www.acmicpc.net/problem/1541
풀이
처음 - 부호가 나오기 전까지는 더해주다가 -가 나온 이후에는 계속 빼주면 됩니다.
왜냐하면 ㅁ + ㅁ - ㅁ + ㅁ + ㅁ + ㅁ + ㅁ 이렇게 마이너스가 하나만 있는 식이 있다고 하면
ㅁ + ㅁ - (ㅁ + ㅁ + ㅁ - ㅁ + ㅁ) 이렇게 괄호를 해주면 되고
ㅁ + ㅁ - ㅁ + ㅁ - ㅁ + ㅁ - ㅁ 같이 마이너스가 여러 개 있는 식이 있다고 하면
ㅁ + ㅁ - (ㅁ + ㅁ) - (ㅁ + ㅁ) - ㅁ 같이 마이너스와 마이너스 부호 사이를 괄호로 감싸주면 됩니다.
코드
1234567891011121314151617def pm():global ansif flag: ans -= int(val)else: ans += int(val)s = input()flag = Falseans = 0val = ''for i in range(len(s)):if s[i] in ['+', '-']:pm()val = ''if s[i] == '-': flag = Trueelse: val += s[i]else: pm()print(ans)cs 반응형'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 2138] 전구와 스위치 (0) 2021.08.05 [BOJ 1931, Python 3] 회의실 배정 (0) 2021.08.05 [BOJ 1080, Python 3] 행렬 (0) 2021.08.04 [BOJ 19941, Python 3] 햄버거 분배 (0) 2021.08.04 [BOJ 18310, Python 3] 안테나 (0) 2021.08.03