알고리즘

프로그래머스 12909번 | 올바른 괄호 문제 풀이 (Java)

개발자0 2025. 2. 12. 23:59

문제

제출 코드

import java.util.*;

class Solution {
    boolean solution(String s) {
        boolean answer = true;
        
        ArrayDeque<Character> que = new ArrayDeque<>();
        
        for(char c : s.toCharArray()) {
            if( c == '(') {
                que.addFirst('(');
            } else {
                if(que.isEmpty()) {
                    answer = false;
                    break;
                } else {
                    que.pollFirst();
                }                
            }
        }
        
        if(!que.isEmpty()) {
            answer = false;
        }
            

        return answer;
    }
}

 

 

스택 사용안하고 푸는법

import java.util.*;

class Solution {
    boolean solution(String s) {
        int count = 0;
        
        for(char c : s.toCharArray()) {
           if(c == '(')  {
               count++;
           } else {
               count--;
               if(count < 0) {
                   return false;
               }
               
           }
        }
        
        System.out.println(count);
            

        return count == 0;
    }
}

 

 

문제 의도

- 스택의 기본 동작 이해

 

문제 출처