JAVA #8 : 문자열 압축하기, toCharArray 사용하기

반응형

문자열을 입력받아서, 같은 문자가 연속적으로 반복되는 경우에 그 반복 횟수를 표시하여 문자열을 압축하기.

입력 예시: aaabbcccccca      출력 예시: a3b2c6a1

문제 출처: 코딩도장


 

입력받은 문자열을 toCharArray를 사용해서 문제풀이를 할 예정입니다

public static void main(String[] args) {
		
	String sample = "aaabbcccccca";
	char []a= sample.toCharArray();
	int cnt=1;
	char temp= a[0];
	String z="";
		
	for(int i=0;i<a.length;i++) {
		if(a[i]==temp)cnt++; // 앞과 뒤의 글자가 같을때 카운트 ++
		else {
			z += temp+""+cnt;
			temp=a[i]; //배열의 다음 글자로 이동
			cnt=1;
			}
		}
	z += temp+""+cnt;

	System.out.println(z);
}

 

문자열(String)을 toCharArray를 이용해서 각 글자별로 분리해서 배열에 넣었습니다.

이후 반복문을 선언해 글자끼리 대조하는 방법을 사용해서 같으면 카운트를 올리고,

다르다면 변수 z에 이전글자와 카운트된 숫자를 넣어 다시 배열을 구성하게 됩니다. 

 

출력된 결과

반응형