본문 바로가기
알고리즘

Char length count

by e-pd 2020. 8. 25.

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증가시키고

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

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

Permutation 구하기  (0) 2020.09.08
Reverse Linked List  (0) 2020.08.26
Valid Anagram  (0) 2020.08.25
K th largest element in an Array  (0) 2020.08.25
Unique한 문자인가  (0) 2020.08.24