[Programmers] level 2 - 올바른 괄호

Lynn·2021년 2월 11일
0

Algorithm

목록 보기
31/43
post-thumbnail

👩🏻‍💻 문제

👩🏻‍💻 정답 코드

import java.util.*;
class Solution {
    boolean solution(String s) {
        boolean answer = true;
        Stack<Character> stack = new Stack<>();

        for (int i=0; i<s.length(); i++){
            char c = s.charAt(i);
            if (c=='(') stack.push(c);
            else{
                if (stack.empty()) answer = false;
                else stack.pop();
            }
        }
        if (!stack.empty()) answer = false;
        return answer;
    }
}

학교에서 자바 수업 들을 때 과제로 나왔던 문제랑 비슷해서 그때랑 같이 스택 사용해서 풀었다.
여는 괄호라면 push, 닫는 괄호라면 pop을 하는데 pop 할 원소가 없으면 잘못된 괄호다. 또한 모든 push pop이 끝나고 stack에 원소가 남아 있어도 쌍이 안 맞는 경우이기 때문에 잘못된 괄호다.

profile
wanderlust

0개의 댓글