Skip to content

Commit f874b3d

Browse files
authored
[프로그래머스 76502] 괄호 회전하기 - 스택
1 parent 3adb9a2 commit f874b3d

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public int solution(String s) {
5+
var answer = 0;
6+
var maxCount = s.length();
7+
8+
var queue = new ArrayDeque<Character>();
9+
10+
for(var c: s.toCharArray()) queue.offerLast(c);
11+
12+
while(maxCount-- > 0){
13+
var store = new ArrayDeque<Character>();
14+
var sub = new ArrayDeque<Character>();
15+
var flag = true;
16+
while(!queue.isEmpty()){
17+
var e = queue.pollFirst();
18+
store.offerLast(e);
19+
20+
if(e == '(' || e == '{' || e == '[') sub.offerLast(e);
21+
else if(sub.size() == 0) {
22+
flag = false;
23+
break;
24+
}
25+
else{
26+
var pl = sub.pollLast();
27+
28+
if(e == ')' && pl == '(') continue;
29+
if(e == '}' && pl == '{') continue;
30+
if(e == ']' && pl == '[') continue;
31+
32+
flag = false;
33+
break;
34+
}
35+
}
36+
37+
if(sub.isEmpty() && flag) answer++;
38+
39+
while(store.size() > 1) queue.offerFirst(store.pollLast());
40+
queue.offerLast(store.pollFirst());
41+
42+
43+
}
44+
45+
return answer;
46+
}
47+
}
48+
49+
/*
50+
51+
52+
*/

0 commit comments

Comments
 (0)