본문 바로가기
프로그래밍/알고리즘 풀이

프로그래머스 괄호 회전하기 (월간 코드 챌린지 시즌2 문제) 자바

by 방구석개발자 2021. 6. 2.
반응형

괄호 회전하기 문제 보러가기

 

코딩테스트 연습 - 괄호 회전하기

 

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이면 올바픈 괄호 문자열이다.
반응형

댓글