๋ฌธ์
์ฝ๋
#include <string>
#include <vector>
#include <stack>
#include <algorithm>
using namespace std;
bool isOk(string s){
stack<char> st;
for(char c : s){
if(c==']'||c==')'||c=='}'){
if(st.empty()) return false;
else if(c==']'&&st.top()=='[') st.pop();
else if(c==')'&&st.top()=='(') st.pop();
else if(c=='}'&&st.top()=='{') st.pop();
}
else st.push(c);
}
if(st.empty()) return true;
return false;
}
int solution(string s) {
int answer = 0;
int len = s.length();
while(len--){
if(isOk(s)) answer++;
string new_str = "";
char s_back = s.front();
new_str = s.substr(1,s.length()+1) + s_back;
s = new_str;
}
return answer;
}
ํ์ด(11๋ถ)
isOk๋ถ๋ถ์ ์ฌ๋ฐ๋ฅธ ๊ดํธ๋ฅผ ์ฐพ๋ ๋ถ๋ถ์ธ๋ฐ ์ด ๋ถ๋ถ๋ง ์๊ตฌํ๋ ๋ฌธ์ ๊ฐ Level 2์ ์ด๋ฏธ ์์ต๋๋ค.
๊ดํธ๋ฅผ ํ์ ํ๋ ๋ถ๋ถ์ ๋งค๋ฒ ๋ฌธ์์ด์ ์ ๊ธ์๊ฐ ๋งจ ๋ค๋ก ๊ฐ๊ฒ๋ ์๋ฅด๊ณ ๋ถ์ฌ์ ๋ง๋ค์์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ํ๋ก๊ทธ๋๋จธ์ค(Programmers)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๊ตฌ๋ช ๋ณดํธ(Level 2) (0) | 2022.04.25 |
---|---|
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ซ์์ ํํ(Level 2) (0) | 2022.04.24 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ํฐ ์ ๋ง๋ค๊ธฐ(Level 2) (0) | 2022.04.24 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ ๋ ฅ๋ง์ ๋๋ก ๋๋๊ธฐ(Level 2) (0) | 2022.04.18 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๋ค์ ํฐ ์ซ์(Level 2) (0) | 2022.04.18 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ฌ๋ฐ๋ฅธ ๊ดํธ(Level 2) (0) | 2022.04.18 |
๋๊ธ