[Leetcode] 1221. Split a String in Balanced Strings (JS)

OROSY·2021년 5월 2일
0

Algorithms

목록 보기
16/38
post-thumbnail

출처

1221. Split a String in Balanced Strings

문제

나의 코드

Balanced strings 라고 해서 "R"과 "L"이 반복적으로 나오고 두 알파벳의 길이가 일정하게 될 때, 이를 split하게 되고 input한 문자의 split한 횟수를 계산하는 알고리즘이었다.

이 문제를 대했을 때, 문자를 문자로만 바라보고 string에 대한 method를 미친듯이 찾아보고 머리를 굴려봤지만 도저히 해결방법이 떠오르지 않았다ㅠ 오랜 고민의 시간을 거쳐서 단순히 string에 국한되지 말고 이를 number로 계산해야한다는 해결 방법을 찾게 되었다.

물론, 이 해결 방법은 다른 분의 코드를 보고 깨달은 개념이긴 하지만 전체 코드를 보지 않고 그러한 방식으로 해결하면 된다라는 것만 얻고 바로 아래 코드로 구현!

알고리즘 문제도 오랜 시간을 고민해도 도저히 본인의 사고가 확장하지 않게 되면 시간만 허비하는 경우가 많기 때문에 이 경우에는 해결할 수 있는 간단한 힌트만 찾아보고 직접 코드를 작성하는 것도 좋은 방법이 될 수 있다고 생각했다 :D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var balancedStringSplit = function(s) {
    let result = 0
    let balance = 0
    for (let i = 0; i < s.length; i++) {
        if (s[i] === 'R') {
            balance++
        } else if (s[i] ==='L') {
            balance--
        }
        if (balance === 0) {
            result++
        }
    }
    return result
};
cs

실행 결과

profile
Life is a matter of a direction not a speed.

0개의 댓글