반응형
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;
}
반응형
'<algorithm> > 프로그래머스' 카테고리의 다른 글
프로그래머스 캐시 c++ (0) | 2023.06.05 |
---|---|
프로그래머스 n^2 배열 자르기 c++ (0) | 2023.06.01 |
프로그래머스 연속 부분 수열 합의 개수 c++ (0) | 2023.05.29 |
프로그래머스 귤 고르기 c++ (0) | 2023.05.29 |
프로그래머스 오픈채팅방 c++ (0) | 2023.05.29 |