728x90
반응형
https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
정답 code
m = input().split('-')
num = []
for i in m:
cnt = 0
s = i.split("+")
for j in s:
cnt += int(j)
num.append(cnt)
sum = num[0]
for i in range(1,len(num)):
sum -= num[i]
print(sum)
이번 문제는 *문자열.split(‘구분자’) 기능을 잘활용하면 쉽게 해결 할수 있다.
split기능
- 문자열.split() : 함수가 자동으로 띄워쓰기, 엔터 등을 인식해서 문자열을 나눈다.
- 문자열.split(‘구분자’) : 함수의 파라미터로 특정 구분자를 지정한다.
- 문자열.split(‘구분자’, 분할횟수) : 두 번째 파라미터인 분할 횟수는 문자열을 자르는 횟수이다.
- 문자열.split(sep=’구분자’, maxsplit=분할횟수) : 파라미터에 변수를 지정한 형태이다. 바로 위의 함수와 같은 기능을 한다.
solution
괄호를 추가해 연산의 최솟값을 만들기 위해선 - 기준으로 괄호를쳐서 큰값을 만들어 빼주면 된다
1. 연산 입력시 - 로 분류해 저장
55-50+40 -> 55, 50+40
2. 각 인덱스속 값에 대해 +로 분류한후 더해 리스트에 저장
3. 리스트 첫번째 값에서 부터 리스트 인덱스 값 하나씩 - 실행
728x90
반응형
'알고리즘 > 백준[baekjoon]' 카테고리의 다른 글
[baekjoon] 백준 1697번 : 숨박꼭질 (by python 파이썬) with bfs (0) | 2022.05.08 |
---|---|
[baekjoon] 백준 1676번 : 팩토리얼 0의 개수 (by python 파이썬) (0) | 2022.05.04 |
[baekjoon] 백준 1463번 : 1로 만들기 (by python) dp (0) | 2022.04.23 |
[baekjoon] 백준 1389번 : 케빈 베이컨의 6단계 법칙 (by python 파이썬) bfs (0) | 2022.04.22 |
[baekjoon] 백준 1260 번 : DFS와 BFS (by python 파이썬) (0) | 2022.04.20 |