https://leetcode.com/problems/split-a-string-in-balanced-strings/description/
문제 설명
주어진 문자열 s를 균형 잡힌 문자열로 나누는 작업을 수행해야 합니다. 여기서 균형 잡힌 문자열은 L의 수와 R의 수가 동일한 문자열입니다. 가능한 많은 균형 잡힌 문자열로 나누고, 나눌 수 있는 문자열의 개수를 반환하세요.
예제
- 입력: s = "RLRRLLRLRL" 출력: 4 설명: RL, RRLL, RL, RL로 나눌 수 있습니다.
- 입력: s = "RLLLLRRRLR" 출력: 3 설명: RL, LLLRRR, LR로 나눌 수 있습니다.
- 입력: s = "LLLLRRRR" 출력: 1 설명: LLLLRRRR로 나눌 수 있습니다.
제약 조건
- 1 <= s.length <= 1000
- s[i]는 'L' 또는 'R'입니다.
- s는 균형 잡힌 string 문자열 입니다.
class Solution:
def balancedStringSplit(self, s: str) -> int:
counter = 0
answer = 0
for alpha in s:
if alpha is "R":
counter += 1
else: # alpha is "L":
counter -= 1
if counter == 0:
answer += 1
return answer
풀이
Count 를 이용해서 푼다.
s 에 담긴 문자열을 순회하여 R 일경우 counter 라는 변수에 +1, K 일경우 -1 을 넣는다.
(초기 설정 0) 0이 될 경우, answer 에 값을 1씩 추가한다.
s 문자열을 모두 순회 후, answer 에 추가된 총 합의 값을 반환한다.
'Algorithm > 릿코드' 카테고리의 다른 글
99클럽 코테 스터디 9일차 118. Pascal's Triangle (1) | 2024.06.08 |
---|---|
99클럽 코테 스터디 8일차 338. counting bits (0) | 2024.06.07 |
99클럽 코테 스터디 5일차 104. Maximum Depth of Binary Tree (1) | 2024.06.03 |
99클럽 코테 스터디 4일차 226. Invert Binary Tree (0) | 2024.06.03 |
99클럽 코테 스터디 3일차 2331. Evaluate Boolean Binary Tree (0) | 2024.06.02 |