https://programmers.co.kr/learn/courses/30/lessons/12909
코딩테스트 연습 - 올바른 괄호
괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은
programmers.co.kr
저는 여는 괄호의 개수를 세어 문제를 해결하였습니다.
여는 괄호가 나오면 cnt를 늘려고 닫는 괄호면 cnt를 줄였습니다. cnt가 0 미만으로 떨어지면 그 순간은 )가 하나 더 많은 것이기 때문에 바로 false를 리턴하였습니다.
또한 for문을 다 돌고 cnt가 0이 아니라면 남는 괄호가 존재하는 것이기 때문에 이때도 false를 리턴하였습니다.
class Solution {
boolean solution(String s) {
boolean answer = checkBracket(s);
return answer;
}
private boolean checkBracket(String s){
int size = s.length();
int cnt = 0;
for(int i = 0 ; i < size ; i++){
char now = s.charAt(i);
if(now == '('){
cnt++;
}else{
cnt--;
}
if(cnt < 0){
return false;
}
}
if(cnt != 0){
return false;
}
return true;
}
}
'알고리즘' 카테고리의 다른 글
프로그래머스 하노이의 탑(JAVA) (0) | 2022.06.20 |
---|---|
프로그래머스 숫자의 표현 (JAVA) (0) | 2022.06.19 |
프로그래머스 멀리 뛰기 (JAVA) (0) | 2022.06.17 |
프로그래머스 다음 큰 숫자 (JAVA) (0) | 2022.06.16 |
프로그래머스 주식가격 (JAVA) (0) | 2022.06.15 |