알고리즘

Char length count

e-pd 2020. 8. 25. 15:33

String 값이 들어왔을때 같은 문자의 갯수를 구하는 문제이다.

aaabbbcccc = > a3b3c4

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  public String solve(String s) {
        StringBuilder sb = new StringBuilder();
 
        char[] chars = s.toCharArray();
        char prev = chars[0];
        int count = 1;
 
        for (int i = 1; i < chars.length; i++) {
            if (prev == chars[i]) {
                count++;
            } else {
                sb.append(prev);
                sb.append(count);
                prev = chars[i];
                count = 1;
            }
        }
        sb.append(prev);
        sb.append(count);
 
        return sb.toString();
    }
cs

 

toCharArray 에서 가장 앞 element부터 시작한다.

prev 에 첫 element를 넣고

배열을 순회하면서 count를 증가시킨다.

같은게 나오면 count증가시키고

다른게 나오면 문자를 문장을 만들고 카운트 증가 한다.