[Programmers]-올바른 괄호

문제

괄호가 올바른 형태이면 true 아니면 false를 반환해라.

코드

class Solution {
    boolean solution(String s) {
        int open = 0;
        
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)=='('){
                open++;
            }
            else if(s.charAt(i)==')'){
                open--;
            }
            
            if(open < 0) return false;
        }
        if(open == 0) return true;
        else if(open > 0) return false;
        
        return true;
    }
}

코드 설명

문자열을 보며 ‘(‘는 open증가, ‘)’는 open감소한다.

음수가 나오면 ‘)’부터 나왔으니 바로 false를 반환한다.

문자열을 모두 보고난 후 open이 0이면 정상이니 true를 반환한다.

open이 0이 양수이면 ‘(‘가 많은거니 false를 반환한다.

요약

  • 어려울줄 알았는데 쉬웠다.