알고리즘
[프로그래머스] 올바른 괄호 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;
}
}