[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를 반환한다.
요약
- 어려울줄 알았는데 쉬웠다.