매일 Algorithm

신재원·2023년 1월 11일
0

Algorithm

목록 보기
3/243

프로그래머스 : 올바른 괄호 (LEVEL 2)

import java.util.Stack;

class Solution {

    boolean solution(String s) {
        boolean answer = false;
        Stack<Character> result = new Stack<>();
        // ')'로 시작하면 false
        for (int i = 0; i < s.length(); i++) {
            if(s.charAt(i) == '('){
                result.push(s.charAt(i));
            }else{
                // ')'인데 스택이 비어있으면 '('가 push가 안된것임으로 false
                if(result.isEmpty()){
                    return false;
                }else{
                    // 스택이 비어있지 않으면 '('가 있다는 의미이므로
                    // 짝을 맞춰야 됨으로 pop해준다
                    result.pop();
                }
            }
        }
        // (( ))
        if(result.isEmpty()){
            answer = true;
        }
        return answer;
    }
}

0개의 댓글