Lv.2 : 괄호 회전하기 [JavaScript]

2024. 10. 28. 21:11Algorithm/프로그래머스

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/76502

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제 풀이

function solution(s) {
    var answer = 0;
    var ss = s.concat(s);
    
    for(var i = 0; i < s.length; i++){
        var str = ss.slice(i, i + s.length);
        
        while(str.includes('()') || str.includes('[]') || str.includes('{}')) {
            str = str.replaceAll('()', '');  
            str = str.replaceAll('[]', '');
            str = str.replaceAll('{}', '');     
        }
        
        if(str == '') answer++;
    }
    
    return answer;
}

괄호 문자열을 회전시키기 때문에 계산하기 편하게 문자열을 두 번 이어 붙인 ss를 만든 후,

for문을 돌며 i번째 idx부터 s의 길이만큼을 자른 str을 사용한다.

 

while문을 돌며 str이 올바른 괄호를 가지고 있으면, 해당 괄호 문자열을 ''로 치환해 지운다.

str이 더이상 올바른 괄호를 가지고 있지 않을 때, str이 빈 문자열이라면 올바른 괄호 문자열이므로 answer++ 

 

반응형

'Algorithm > 프로그래머스' 카테고리의 다른 글

Lv.2 : 프로세스 [JavaScript]  (0) 2024.11.03
Lv.2 : [1차] 캐시 [JavaScript]  (0) 2024.11.02
Lv.1 : 추억 점수 [JavaScript]  (1) 2024.10.26
Lv.2 : 귤 고르기 [JavaScript]  (0) 2024.10.26
Lv.2 : 구명보트 [JavaScript]  (0) 2024.10.25