[프로그래머스] 괄호변환
2020. 4. 18. 14:48ㆍ프로그래머스/카카오
import java.util.*;
class Solution {
int position;
public String solution(String p) {
if(p.isEmpty()){
return p;
}
String answer = "(";
boolean flag = isCorrect(p);
String u = p.substring(0,position);
String v = p.substring(position);
if(flag){
return u+solution(v);
}
answer += solution(v) + ")";
for(int i=1; i<u.length()-1; i++){
if(u.charAt(i) == '('){
answer += ")";
}else{
answer += "(";
}
}
return answer;
}
private boolean isCorrect(String str){
boolean flag = true;
int left = 0;
int right = 0;
Stack<Character> st = new Stack<>();
for(int i=0; i<str.length(); i++){
if(str.charAt(i)=='('){
left ++;
st.push('(');
}else{
right ++;
if(st.isEmpty()){
flag = false;
}else{
st.pop();
}
}
if(left==right){
position = i+1;
return flag;
}
}
return flag;
}
}
문제에서 요구하는 순서 그대로 구현만 해주었다.
'프로그래머스 > 카카오' 카테고리의 다른 글
[프로그래머스] 호텔 방 배정 (0) | 2020.04.22 |
---|---|
[프로그래머스] 불량 사용자 (0) | 2020.04.22 |
[프로그래머스] 후보 키 (0) | 2020.04.15 |
[프로그래머스] [Level 4]무지의 먹방 라이브 (0) | 2020.04.14 |
[프로그래머스][3차] 방금그곡 (0) | 2020.04.14 |