그럴듯한 개발 블로그
반응형

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

백준에서 많이 본 괄호 문제 + 스트링 조금 쓸줄 아느냐 문제였다. ez

#include <string>
#include <vector>
#include <stack>
#include <iostream>

using namespace std;

int solution(string s) {
    int answer = 0;
    string open = "([{", close = ")]}";
    for (int x = 0; x < s.size(); x++)
    {
        stack<char> stk;
        for (int i = 0; i < s.size(); i++)
        {
            if (stk.empty())
            {
                stk.push(s[i]);
                continue ;
            }
            for (int j = 0; j < 3; j++)
            {
                if (stk.top() == open[j] && s[i] == close[j]) // 짝이 맞으면
                {
                    stk.pop();
                    break ;
                }
                else if (j == 2) // 짝이 맞지 않으면
                    stk.push(s[i]);
            }
        }
        if (stk.empty())
            answer++;
        s = s.substr(1, s.size() - 1) + s.substr(0, 1);
        // cout << s << '\n';
    }
    // cout << open << ' ' << close;
    return answer;
}
반응형
profile

그럴듯한 개발 블로그

@donghyk2

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!