반응형
https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net


이 문제의 핵심은
1. -를 기준으로 식을 모두 나눈 뒤
55-50+40을 나누면 "50" 과 "55+40" 나눠짐.
2. 나머지 덧셈으로 이루어진 문자열을 계산하고
50 95
3. - 계산을 모두 해주면 됨
50 - 95 = -35
이런식으로 계산하면
55 - (50+40)과 같은 계산 결과가 나옴
코드 진행에서 살짝 헷갈리는 부분은 바로 string으로 들어오는 input에서 사칙연산 부호를 기준으로 나눠주는 것인데
split() 안에 기준이 되는 부호를 넣어주면 파싱(parcing)된다.
senti = input().split("-")
# -를 기준으로 나눠줌 55-50+40이면 55와 50+40으로 나뉨
num = []
result = 0
for i in senti:
sum = 0
tmp = i.split("+") # + 부호를 기준으로 split
for j in tmp:
sum += int(j)
num.append(sum)
n = num[0]
for i in range(len(num) - 1):
result = result + num[i + 1]
result = n - result
print(result)
첫번째는 무조건 숫자로 시작함으로 num[0]에서 모든 합쳐진 수들을 빼주면 결과가 나온다.
반응형
'Algorithm > BOJ' 카테고리의 다른 글
| 백준 (BOJ) - 17219 비밀번호 찾기 [Python] (1) | 2023.12.30 |
|---|---|
| 백준 (BOJ) - 1260 DFS와 BFS [Python] (0) | 2023.02.13 |
| 백준 (BOJ) - 1764 듣보잡 [Python] (0) | 2023.01.23 |
| 백준 (BOJ) - 2110 공유기 설치 [Python] (0) | 2023.01.05 |
| 백준 (BOJ) - 1931 회의실 배정 [Python] (1) | 2022.11.03 |