-
1221. Split a String in Balanced StringsAlgorithm/LeetCode 2020. 5. 23. 21:34728x90
출처: https://leetcode.com/problems/split-a-string-in-balanced-strings/
Split a String in Balanced Strings - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
분류: Greedy, Easy
접근방식
"L", "R"로 이루어진 문자열에서 짝이 맞는 문자열의 개수가 얼마나 되는지 찾는 문제입니다.
저는 처음에 L 과 R 의 개수를 저장하는 변수를 만들고 카운트 해주면서 둘이 같아지면 balanced 카운트를 늘려주는 방식으로 풀었습니다.
하지만 굳이 변수를 2개나 만들지 않고 1개로도 충분히 가능합니다.
해결방법
처음 풀이
func balancedStringSplit(_ s: String) -> Int { var lStack = 0 var rStack = 0 var balanced = 0 for c in s { if c == "L" { lStack += 1 } else { rStack += 1 } if lStack == rStack { balanced += 1 lStack = 0 rStack = 0 } } return balanced }
변수 하나 풀이
func balancedStringSplit(_ s: String) -> Int { var stack = 0 var balanced = 0 for c in s { if c == "L" { stack += 1 } else { stack -= 1 } if stack == 0 { balanced += 1 } } return balanced }
'Algorithm > LeetCode' 카테고리의 다른 글
1005. Maximize Sum Of Array After K Negations (0) 2020.06.04 1029. Two City Scheduling (0) 2020.06.04 1046. Last Stone Weight (0) 2020.05.31 1217. Play with Chips (0) 2020.05.28