728x90
import java.util.*;
class Solution {
boolean solution(String s) {
int cnt = 0;
//괄호가 "()" 일 경우에만 허용이기에 시작과 끝이 ")", "(" 일 경우 false
if (String.valueOf(s.charAt(0)).equals(")")||String.valueOf(s.charAt(s.length()-1)).equals("(")){
return false;
}
for (int i = 0; i < s.length(); i++) {
//"(" 일 경우 +1 ")"일 경우 -1
if (String.valueOf(s.charAt(i)).equals("(")) {
cnt +=1;
} else {
cnt -=1;
}
//"(()))()(()" 경우 혼자서 닫히는 ")" 가 있을 경우 cnt는 음수로 떨어지기에 false
if (cnt<0){
return false;
}
}
if (cnt == 0){
return true;
} else {
return false;
}
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
이진 변환 반복하기(Lv.2)[프로그래머스] (0) | 2022.09.19 |
---|---|
점프와 순간 이동(Lv.2)[프로그래머스] (0) | 2022.09.16 |
JadenCase 문자열 만들기(Lv.2)[프로그래머스] (0) | 2022.09.15 |
[1차] 비밀지도(Lv.1)[프로그래머스 2018 KAKAO BLIND RECRUITMENT] (0) | 2022.09.14 |
성격 유형 검사하기(Lv.1)[프로그래머스 2022 KAKAO TECH INTERNSHIP] (0) | 2022.09.06 |