유블로그

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

알고리즘

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

yujeong kang 2021. 1. 28. 00:38

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

 

소요시간 : 8분

 

처음에 효율성 하나가 시간초과가 나서..ㅎㅎ

고쳤다.

 

쓸데없이 stack에 문자열 s를 다 넣었기 때문에 시간초과 난 듯 하다.

그래서 그냥 인덱스를 옮겨서 했는데 s의 끝부터 보면서

) 가 안 나왔는데 ( 가 나오면 return false

) 가 나왔었는데 ( 가 나오면 ) 개수를 하나 줄여서

( ) 개수를 맞춰가면서 idx 를 줄이는 방식으로 했다.

class Solution {
    boolean solution(String s) {
        int close = 0, idx = s.length()-1;
        char c;
        while(idx >= 0) {
        	c = s.charAt(idx--);
        	if(close == 0 && c == '(') return false;
        	if(c == ')') close++;
        	else if(close > 0 && c == '(') close--;
        }
        
        if(close > 0) return false;
        return true;
    }
}