Algorithm
1221. Split a String in Balanced Strings In JavaScript [탐욕법]
Kyeongti
2021. 12. 28. 09:14
문자 "RLRRLL" 이 주어질 경우 2를 반환한다.
회문처럼 반복되는 것이 2번 있기 때문이다. "RL", "RRLL" 이렇게 두개가 있기 때문이다.
풀이 전략은 다음과 같다.
left, right = ""로 두고 left와 right가 같아지는 시점에서 result값을 1개씩 올리면 된다.
아래 코드로 살펴보자.
const balancedStringSplit = function(s) {
let left = "";
let right = "";
let index = 0;
let result = 0;
while (index !== s.length) {
if (s[index] === "R") {
left += "L";
} else {
right += s[index];
}
if (left === right && left !== "") {
result += 1;
left = "";
right = "";
}
index += 1;
}
return result;
};
left에는 R일때만 L로 저장되게 하였고, right에는 L일때 L이 저장되게 하였다.
끝!.