티스토리 뷰

알고리즘

[코딩도장] 문자열 압축

얗마 2016. 10. 27. 23:01

[문제]

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

입력 예시: aaabbcccccca

출력 예시: a3b2c6a1


[소스]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package compression;
 
 
public class main_mh {
 
 
    public static void main(String[] args) {
 
 
        String inputTxt = "aaabbcccccca";
        String resultTxt = "";
        int count = 0;
        
        char charTmp = inputTxt.charAt(0);
        count++;
        
        for ( int i = 1; i < inputTxt.length(); i++ ) {
            
            if ( inputTxt.charAt(i) != charTmp ) {
                resultTxt += charTmp + "" + count;
                count = 0;
                
                charTmp = inputTxt.charAt(i);
                count++;
                
            } else {
                count++;
            }
            
            if ( i == inputTxt.length()-1 ) {
                resultTxt += charTmp + "" + count;
            }
        }
        
        System.out.println(resultTxt);
    }
}
cs


[결과]


※ 출처http://codingdojang.com/scode/465?answer_mode=hide

'알고리즘' 카테고리의 다른 글

[코딩도장] 문자열 짝수 번째 치환  (0) 2016.10.28
[코딩도장] Cycle 최대 길이  (0) 2016.10.27
[코딩도장] Spiral Array  (0) 2016.10.26
[코딩도장] 숫자 개수 카운트  (0) 2016.10.25
[코딩도장] 제네레이터  (0) 2016.10.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함