かっこを回転
1860 ワード
https://programmers.co.kr/learn/courses/30/lessons/76502
#include
#include
#include
#include
using namespace std;
int solution(string s) {
int answer = 0;
よくあるカッコ変形の問題.
かっこはスタック形式で展開され、
内部ロジックを忘れないで
#include
#include
#include
#include
using namespace std;
int solution(string s) {
int answer = 0;
deque<char> dTemp;
for (int i = 0; i < s.size(); i++)
{
dTemp.push_back(s[i]);
}
int iLoop = dTemp.size();
for (int i = 0; i < iLoop; i++)
{
deque<char> dTemp1 = dTemp;
stack<char> stk;
int flag(0);
for (int j = 0; j < dTemp1.size(); j++)
{
if (dTemp[j] == '(' || dTemp[j] == '[' || dTemp[j] == '{')
{
flag++;
stk.push(dTemp[j]);
}
else if (stk.size() != 0 && stk.top() == '(' && dTemp1[j] == ')') stk.pop();
else if (stk.size() != 0 && stk.top() == '{' && dTemp1[j] == '}') stk.pop();
else if (stk.size() != 0 && stk.top() == '[' && dTemp1[j] == ']') stk.pop();
}
if (stk.size() == 0 && flag>0) answer++;
char cTemp = dTemp[0];
dTemp.pop_front();
dTemp.push_back(cTemp);
}
return answer;
}よくあるカッコ変形の問題.
かっこはスタック形式で展開され、
内部ロジックを忘れないで
Reference
この問題について(かっこを回転), 我々は、より多くの情報をここで見つけました https://velog.io/@imalive77/괄호-회전하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol