반응형
문자열을 입력받아서, 같은 문자가 연속적으로 반복되는 경우에 그 반복 횟수를 표시하여 문자열을 압축하기.
입력 예시: 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에 이전글자와 카운트된 숫자를 넣어 다시 배열을 구성하게 됩니다.
출력된 결과
반응형
'코딩공부 > JAVA' 카테고리의 다른 글
JAVA #10 : 남은 퇴근 시간 계산기, 시간 계산하기, SimpleDateFormat, currentTimeMillis (0) | 2022.05.30 |
---|---|
JAVA #9 : Files와 split을 이용해서 텍스트 파일의 단어 개수 세기 (0) | 2022.05.27 |
JAVA #7 : 완전수 구하기, For문을 이용해서 완전수 구하기 (1) | 2022.05.25 |
JAVA #6 : 10~1000까지 각 숫자 분해하여 곱하기의 전체 합 구하기 (1) | 2022.05.23 |
JAVA #5_2 : 구글 입사 문제; 1~10000 사이에 8의 개수를 구하시오 (0) | 2022.05.20 |