반응형
문제 설명
자바 코드
class Solution {
public int solution(String s) {
int answer = 0;
for(int i=0;i<s.length();i++){
String first=s.substring(0,1);
String last=s.substring(1);
s=last+first;
String chk=new String(s);
int result=1;
while (chk.contains("()")||chk.contains("[]")||chk.contains("{}")){
chk = chk.replace("()", "");
chk = chk.replace("[]", "");
chk = chk.replace("{}", "");
}
if(chk.length()>0) result=0;
answer+=result;
}
return answer;
}
}
문제 풀이
우선 회전을 시킵니다. 그 다음 회전한 문자열에 () , [] , {} 문자열이 없어질때까지 replace를 하여 제거한 문자열의 크기가 0이면 올바른 괄호 문자열이 됩니다.
- 문자열을 회전시킨다.
- 회전한 문자열에 () , [] , {} 문자열이 없어질때까지 제거한다.
- 제거한 문자열의 크기가 0이면 올바픈 괄호 문자열이다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
백준 1644 소수의 연속합 (0) | 2021.06.04 |
---|---|
백준 2485 가로수 자바 (0) | 2021.06.03 |
백준 2580 스도쿠 자바 (0) | 2021.05.28 |
백준 15886번 치킨 배달 자바 (0) | 2021.05.27 |
프로그래머스 2개 이하로 다른 비트 (월간 코드 챌린지 시즌2 문제) 자바 (0) | 2021.05.22 |
댓글