티스토리 뷰

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

 

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

 

programmers.co.kr

 

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

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

using namespace std;

bool check(string s) {
	stack<char> st;
	for (char c : s) {
		if (c == '}') {
			if (st.top() == '{') st.pop();
			else st.push(c);
		}
		else if (c == ']') {
			if (st.top() == '[') st.pop();
			else st.push(c);
		}
		else if (c == ')') {
			if (st.top() == '(') st.pop();
			else st.push(c);
		}
		else st.push(c);
	}
	return st.empty() ? true : false;
}

int solution(string s) {
	int answer = 0;

	for (int i = 0; i < s.length(); i++) {
		if (check(s)) answer++;
		s += s[0];
		s = s.substr(1, s.length() - 1);
	}

	return answer;
}
댓글