본문 바로가기

Backend/Algorithm

37. stack - 올바른 괄호

 

 

 

코드

import java.util.Stack;
class Solution {
    boolean solution(String s) {
        boolean answer = true;
        Stack<Character> stack = new Stack<Character>();
	
		
        for(int i=0; i<s.length(); i++) {
            if(s.charAt(i) == '('){
                stack.push('(');
            }else{
                if(stack.isEmpty()) //첫코드가 ')' 이거나 '()'이후에 또 ')'이것이 나왔을때
                    return false;
                else // '('이후에 ')'나오면 지우기
                    stack.pop();
            }
        }
        answer = (stack.isEmpty()) ? true : false; // 포문을 돌면서 처리한 스택이 비어있으면 true, 남아있다면 false
        return answer;
    }
}

 

 

 

접근방법