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 |