쥐수의 공부노트
백준 1541번 잃어버린 괄호 본문
728x90

정답 :
let input = readLine()!.split(separator: "-")
var result = 0
for i in input[0].split(separator: "+") {
result += Int(i)!
}
for i in input[1...] {
for j in i.split(separator: "+") {
result -= Int(j)!
}
}
print(result)
해당 문제는 수식을 받는데, -를 기점으로 받는다.
예를 들어, 10 + 20 - 30 - 40 + 50 - 60 이 있다고 치자.
우리가 구한 최솟값은 10 + 20 - 30 - (40 + 50) - 60 이 될것이다.
-로 split을 주었기 때문에, input[0] 에는 10 + 20 , input[1]에는 30 , input[2]에는 40, input[3]에는 + 50, input[4]에는 60이 들어간다.
이제 input[0]에서 +로 split을 주어 10과 20을 result에 더해주고, input[1]부터 끝까지 다시 +로 split를 주고, 모두 빼면 된다.
728x90
'swift 알고리즘 > 그리드' 카테고리의 다른 글
백준 13305번 주유소 (0) | 2023.08.03 |
---|---|
백준 11399번 ATM (0) | 2023.07.31 |