반응형
1. 문제
세준이는 양수와 +, -, 그리고 괄호를 가지고 길이가 최대 50인 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.
그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.
괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오.
2. 입력
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다.
3. 출력
첫째 줄에 정답을 출력한다.
4. 풀이
example = input().split('-') #1
result = 0
for i in example[0].split('+') : #2
result += int(i) #3
for i in example[1:] : #4
for j in i.split('+'): #5
result -= int(j) #6
이 문제는 -가 나올 때까지 다 더하고, 그렇지 않으면 빼는 문제이다.
#1 : -를 기준점으로 입력을 받는다. 55-50+40이 있으면, example에는 '55' '50+40' 으로 입력을 받는다.
#2 : example 첫 값을 구해줌
#3 : i 에 있는 것들을 다 더해준다. 왜냐하면, -가 나올 때까지는 다 더해주니까.
#4 : 그 다음 1번 리스트부터 반복을 하는데,
#5 : +가 있는 것들을 다 뺴줘서
#6 : result에 계산
위의 방식처럼은 안해도 된다.
example[0].split('+')를 하여 다시 빈 리스트에 sum을 하여 결과값을 저장하고, sum들이 저장된 리스트를 다시 for문으로 불러와서 뺴주면 된다.
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
백준 2309번 일곱 난쟁이 파이썬(Python) (0) | 2020.05.12 |
---|---|
백준 1436번 영화감독 숌 파이썬(Python) (0) | 2020.05.12 |
백준 5543번 상근날드 파이썬(Python) (0) | 2020.03.06 |
[백준 알고리즘] 백준 1120번 문자열 파이썬(Python) (0) | 2020.01.14 |
[백준 알고리즘] 백준 2875번 대회 or 인턴 파이썬(Python) (0) | 2020.01.10 |
[백준 알고리즘] 백준 10610번 30 파이썬(Python) (0) | 2020.01.10 |
[백준 알고리즘] 백준 2217번 로프 파이썬(Python) (1) | 2020.01.09 |
[백준 알고리즘] 백준 5585번 거스름돈 파이썬(Python) (0) | 2020.01.05 |
최근댓글