[ BOJ 1541 ] 잃어버린 괄호(Python)
문제
https://www.acmicpc.net/problem/1541
콜렉트콜이 생각나는 문제 번호다. 홀홀 👵🏻
문제 풀이
"1-2+3+4-5+2"
다음과 같은 문자열이 주어졌을 때,
값을 최소로 만들기 위해선 계속 빼면 된다.
"1-(2+3+4)-(5+2)"
-
를 기준으로 문자열을 나누어준 뒤,
다시 +
를 기준으로 문자열을 나눠서 합을 구해줬다.
sub1 = list(order.rsplit('-'))
for row in sub1:
sub2 = list(map(int,''.join(row).rsplit('+')))
"1-9-7"
그리고 빼주면 된다.
temp = 0
first = True
for row in sub1:
sub2 = list(map(int,''.join(row).rsplit('+')))
# 첫번째 요소만 temp에 더해주고, 나머지는 빼주자
if first:
first = False
temp = sum(sub2)
else:
temp -= sum(sub2)
코드
import sys
input = sys.stdin.readline
order = input().rstrip()
sub1 = list(order.rsplit('-'))
temp = 0
first = True
for row in sub1:
sub2 = list(map(int,''.join(row).rsplit('+')))
if first:
first = False
temp = sum(sub2)
else:
temp -= sum(sub2)
print(temp)
Author And Source
이 문제에 관하여([ BOJ 1541 ] 잃어버린 괄호(Python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@uoayop/BOJ-1541-잃어버린-괄호Python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)