-
백준 1541 잃어버린 괄호Algorithm/BOJ 2020. 6. 7. 15:18728x90
출처: www.acmicpc.net/problem/1541
분류: Greedy
+와 -만으로 이루어진 연산이 들어올 때 괄호를 묶어서 최소인 수를 만드는 문제입니다.
+ 연산부터 해주고 - 연산을 해주면 최소의 값을 구할 수 있습니다.
- 로 우선 다 잘라준 다음에 각각을 다 더해주고 마지막에 빼주는 방식으로 해결했습니다.
import Foundation var str = readLine()! var plusOpers = str.components(separatedBy: "-") var minusNumbers = [Int]() for opr in plusOpers { let numbers = opr.components(separatedBy: "+").map({Int($0)!}) minusNumbers.append(numbers.reduce(0, +)) } var result = minusNumbers[0] for i in 1..<minusNumbers.count { result -= minusNumbers[i] } print(result)
이번엔 단순히 +, - 로 잘라주면 되는 형식이었지만... 더 복잡해지면 어떻게 해야할까요
문자열은 항상 스위프트의 적인 것 같습니다.. 연습만이 살길 🔥
감사합니다.
'Algorithm > BOJ' 카테고리의 다른 글
백준 1946 신입 사원 (2) 2020.06.08 백준 1120 문자열 (0) 2020.06.08 Algorithm) BOJ) 백준 1744 - 수묶기 (0) 2019.06.26 Algorithm) BOJ) 백준 1931 - 회의실배정 (2) 2019.06.18 Algorithm) BOJ) 백준 1783 - 병든 나이트 (0) 2019.06.17