Geisha 2024. 4. 8. 10:52

 

올바른 괄호 문제는 백준에서 한번 풀어보았던 문제이지만,

프로그래머스로 IDE 의 힘을 빌리지 않고 코드 작성을 해보니 쉽지 않은 문제였다.

 

디버깅을 위해 System.out.println() 을 이용하여 디버깅 하는 방법을 잘 연습 해 놓아야 할 것 같다.

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

class Solution {
    boolean solution(String s) {

        Stack<Character> stack = new Stack<>();

        boolean answer =true;

        int num = s.length();

        int count = 0 ;
        for(int i = 0 ; i < num; i ++){

            if(s.charAt(i)=='(') {
                count++;
                stack.add((char) s.indexOf(i));
            }
            else if(s.charAt(i)==')'){
                count--;
                if(!stack.isEmpty() && count >= 0) {
                    stack.pop();
                } else {
                    answer = false;
                    break;
                }
            }
        }
        if(count != 0)
            answer = false;
        return answer;
    }
}

 

stack

-pop

-add

 

String

-length

-charAt