프로그래밍/알고리즘 풀이
프로그래머스 괄호 회전하기 (월간 코드 챌린지 시즌2 문제) 자바
방구석개발자
2021. 6. 2. 18:52
반응형
코딩테스트 연습 - 괄호 회전하기
programmers.co.kr
문제 설명
자바 코드
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이면 올바픈 괄호 문자열이다.
반응형