Algorithm/문제

40. 쇠막대기

챛채 2023. 10. 10. 14:39

여는 괄호 나오면 stack에 push

닫는 괄호 나오면 바로 앞 인덱스 확인하고 여는 괄호면 레이저

 

import java.util.*;

public class Main {

    public int solution(String str) {

        int answer = 0;
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) == '(') {
                stack.push('(');
            } else {
                stack.pop();
                if(str.charAt(i-1)=='(') answer+=stack.size(); //레이저
                else answer++; //막대기의 끝
            }
        }
        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));
   }
}