본문 바로가기

알고리즘 · 코딩

[프로그래머스] 괄호 회전하기

월간 코드 챌린지 시즌 2

 

문제 링크

programmers.co.kr/learn/courses/30/lessons/76502

 

코딩테스트 연습 - 괄호 회전하기

 

programmers.co.kr


C++ 풀이

#include <string>
#include <stack>
using namespace std;

int solution(string s) {
    int answer = 0;
    int s_length = s.length();
    string temp = "";
    for (int i = 0; i < s_length; i++) {
        temp = s.substr(i, s_length - i) + s.substr(0, i);
        stack <int> stk;
        for (int j = 0; j < s_length; j++) {
            if ((stk.size() > 0) && (temp[j] - stk.top()) > 0 && (temp[j] - stk.top()) <= 2) //맞는 괄호 짝인 경우
                stk.pop();
            else
                stk.push(temp[j]);
        }
        if (stk.size() == 0)
            answer++;
    }
    return answer;
}

스택을 사용하여 풀이하였다.

 

 

반응형

'알고리즘 · 코딩' 카테고리의 다른 글

[프로그래머스] 예상 대진표  (0) 2021.04.22
[프로그래머스] 음양 더하기  (0) 2021.04.22
[백준 14891번] 톱니바퀴  (0) 2021.04.20
[백준 14501번] 퇴사  (0) 2021.04.20
[백준 15685번] 드래곤 커브  (0) 2021.04.18