괄호 사이의 단어 처리는 닫는 괄호가 나오면 스택에서 여는 괄호가 나올 때까지 pop을 해서 꺼내버린다.
import java.util.*;
public class Main {
public String solution(String str) {
String answer = "";
Stack<Character> stack = new Stack<>();
for (char x : str.toCharArray()) {
if (x == ')') {
while(stack.pop()!='(');//제일 상단에 있는 값 꺼내고 return
} else {
stack.push(x);
}
}
for(int i = 0; i<stack.size(); i++) answer +=stack.get(i);
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.println(T.solution(str));
}
}
'Algorithm > 문제' 카테고리의 다른 글
39. 후위식 연산(postfix) (0) | 2023.09.25 |
---|---|
38. 크레인 인형뽑기 (카카오) (0) | 2023.09.25 |
36. 올바른 괄호 (Stack) (0) | 2023.09.11 |
35. K번째 큰 수 (TreeSet) (0) | 2023.09.06 |
34. 모든 아나그램 찾기 (0) | 2023.09.05 |