[알고리즘] 문자열(11) : 문자열 압축(JAVA)

ho's·2022년 5월 17일
0

문제

풀이

  • 위 문제를 보면서 겹쳐지는 부분을 for문을 이용해 검사하려했었는데, 어떻게 처리를 해야할지 몰랐다.

  • while문을써야하나 고민했지만, for문을 통해 해결 할 수 있었다.

1단계

main메소드

public static void main(String[] args) throws IOException {
	Main11 T = new Main11();
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String str = br.readLine();
    Systen.out.print(T.solution(str));
}

solution 메소드

 public String solution(String s){
 	String answer ="";
    s = s + " ";
    // 빈 문자하나를 만들어준다(에러발생을 발생 안시키기 위해서)
    int cnt = 1;
    for(int i=0;i<s.length()-1;i++){
    	if(s.charAt(i) == s.charAt(i+1))
        	cnt++;
        else{
        	answer += s.charAt(i);
            if(cnt > 1) answer += String.valueOf(cnt);
            cnt = 1;
            }
        }
        
        return answer;
 	
 }

소스코드

profile
그래야만 한다

0개의 댓글