본문 바로가기
Algorithm/BOJ

[Algorithm/BOJ] 1541 - 잃어버린 괄호 (Greedy) Swift

by thoonk: 2020. 12. 17.
반응형

문제 풀이:

1. 입력을 "-" 기준으로 분할한다.

2. "-" 이전은 무조건 + 이기 때문에 값들을 result에 더해준다.

3. "-" 이후의 값들을 분리해서 temp에 더해준다.

4. result-temp 출력하면 최솟값이 나온다.

 

코드:

import Foundation

var formula = readLine()!.split(separator: "-").map {String($0)}
let first = formula[0].split(separator: "+").map {Int(String($0))!}
var result = 0

for i in first {
    result += i
}

var temp = 0

for i in 1 ..< formula.count {
    let minus = formula[i].split(separator: "+").map {Int(String($0))!}
    for j in minus {
        temp += j
    }
}

print(result-temp)

 

문제:

www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net

 

반응형

댓글