백준/스택 & 큐

99클럽 코테 스터디 7일차 TIL - [스택] 백준 10799번 : 쇠막대기

킴준현 2025. 4. 9. 01:22

항해99 클럽 코테 스터디 7일차 TIL - 자바 미들러 4/8 (화요일)

https://www.acmicpc.net/problem/10799

✅ 문제

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String n = br.readLine();
        Stack<String> st = new Stack<>();
        int sum = 0;

        for (int i = 0; i < n.length(); i++) {
            if (n.charAt(i) == '(') { // 1. ( 그러면 스택에 넣기
                st.push("(");
            } else { // 2. ) 앞에 있는 값을 비교해서 ( 레이저니깐 스택 길이만큼 더한다
                if (n.charAt(i - 1) == '(') {
                    st.pop();
                    sum += st.size();
                } else {  // 3. ) 앞에 있는 값을 비교해서 ) 막대기니깐 +1
                    st.pop();
                    sum += 1;
                }
            }
        }
        System.out.println(sum);
    }
}

 

실행코드

http://boj.kr/9860669e43bf43529efeb7727d39b776