인자로 문자열을 받습니다.
문자열에는 R 혹은 L만 존재합니다.
이때, R과 L의 숫자가 같도록 substring을 하여 가장 많은 substring 갯수를 구해야 합니다.
이 문제는, R과 L의 숫자를 바꿀수 있는 조건이 없습니다.
그렇기 때문에, 단순히 iterate를 돌며 R과 L의 갯수가 같을 때면 그냥 substring을 한다고 생각하시면 됩니다.
저는 아래와 같이 코드를 짰습니다.
class Solution:
def balancedStringSplit(self, s: str) -> int:
r_cnt = 0
l_cnt = 0
res = 0
for i in s:
if i == "L":
l_cnt += 1
else:
r_cnt += 1
if l_cnt == r_cnt:
res += 1
l_cnt = 0
r_cnt = 0
return res
감사합니다.
'Algorithm > greedy' 카테고리의 다른 글
leetcode - Last Stone Weight (0) | 2020.03.12 |
---|---|
leetcode - Two City Scheduling (0) | 2020.03.12 |
leetcode - Maximize Sum Of Array After K Negations (0) | 2020.03.11 |
leetcode - Walking Robot Simulation (2) | 2020.03.10 |
leetcode - Lemonade Change (0) | 2020.03.05 |