쥐수의 공부노트

백준 1541번 잃어버린 괄호 본문

swift 알고리즘/그리드

백준 1541번 잃어버린 괄호

쥐수 2023. 7. 31. 15:10
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