[프로그래머스] 올바른 괄호 Java

김건호·2024년 6월 23일

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12909

알고리즘 종류 : 스택

import java.util.*;

class Solution {
    boolean solution(String s) {
        Stack<Character> stack = new Stack<>();
        
        int length = s.length(); 

        for (int i = 0; i < length; i++) {
            if(s.charAt(i)=='(') { 
                stack.push('('); // 새로운 짝을 기다리는 (
            } 
            else if (s.charAt(i)==')') {
                if(stack.isEmpty()) // 스택이 비었는데 )가 들어온다 = ( 가 없다 = false
                    return false;
                stack.pop(); // 괄호 한 쌍 => pop
            }
        }
        return stack.isEmpty(); // 다 돌렸는데 비어있지 않다 = 짝을 찾지 못한 (가 남았다
    }
}
profile
네.. 뭐.. 김건호입니다...

0개의 댓글