티스토리 뷰
728x90
반응형
문제
코드
N = input().split('-') # 입력값을 '-'를 기준으로 입력받는다. ex) ['55', '50+40']
# 최솟값을 찾기 위해서는 '-' 이전 이후로 나눠서 연산을 해준뒤에 계산하면 최솟값이 나온다.
result = []
for i in N:
result.append(list(map(int,i.split('+'))))
# '+'연산자로 묶인 것들은 더해 주기 위해서 리스트에 넣어준다. ex) [[55], [50,40]]
Sum = []
for i in result:
cnt = 0
for j in i:
cnt += int(j)
Sum.append(cnt) # Sum에 계산한 값들을 넣어준다. [55, 90]
# Sum에 있는 수들은 모두 '-'를 기준으로 나눠져 있는 수들이다
total = Sum[0] # '-' 이전값에서 이후값을 빼주기 위해서 total에 먼저 이전값을 넣어준다.
for i in range(1,len(Sum)):
total -= Sum[i]
print(result)
코드설명
입력값중에 괄호를 적절히 쳐서 최솟값으로 만드는 문제이다.
최솟값을 만들기 위해서는 -를 기준으로 나누고 연산을 먼저한뒤에서 마지막에 -연산을 하면 최솟값이 된다.
그래서 맨처음에 split('-')을 통해 나눠주고 나눠준 값들을 계산하기 위해서 split('+')통해서 나눠준뒤에 계산한 값들을 Sum에 저장한다.
Sum에 있는 값들을 -연산을 한뒤에 출력하면 최솟값이 된다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1992번 쿼드트리 (Python) (0) | 2021.03.16 |
---|---|
[백준] 11866번 요세푸스 문제 0 (Python) (0) | 2021.03.16 |
[백준] 2231번 분해합 (Python) (0) | 2021.03.15 |
[백준] 2798번 블랙잭 (Python) (1) | 2021.03.15 |
[백준] 2108번 통계학 (Python) (0) | 2021.03.15 |
댓글