Algorithm/문제

37. 괄호 문자 제거

챛채 2023. 9. 20. 17:43

 

괄호 사이의 단어 처리는 닫는 괄호가 나오면 스택에서 여는 괄호가 나올 때까지 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));
   }
}