알파벳 대문자로 이루어진 문자열을 입력받아
같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로
오른쪽에 반복 횟수를 표기하는 방법
단 ,1인 경우 생략
내가 푼 코드
생각보다 어려웠다....
온갖 구글링 및 강의를 듣고 내가 풀수있는 방법을 동원해서 풀어보았다.
정규표현식에 대해 공부를 하고나니
코드를 짤때도 유용하게 이용하는 거 같다.
function solution(str) {
let answer = "";
let cnt = 1;
for (let i = 0; i < str.length; i++) {
if (str[i] === str[i + 1]) {
cnt++;
} else {
answer += str[i] + cnt;
cnt = 1;
}
}
answer = answer.match(/[^1]/g).join("");
return answer;
}
let str = "KKHSSSSSSSE";
console.log(solution(str));
- 반복문을 돌려 숫자가 동일할때 마다 카운트 증가
- 다르면 1로 초기화시키면서 answer에 담는다 .
- 다돌고 나면 정규표현식을 이용해서 1을 제외시킨다.
출처 - 인프런 자바스크립트 알고리즘 김태원님 강의
728x90
반응형
'알고리즘 > 인프런' 카테고리의 다른 글
[JS] - 봉우리의 개수는 몇개인가? (0) | 2022.03.16 |
---|---|
[JS] - 격자판의 최대합 구하기 (0) | 2022.03.15 |
[알고리즘] - 중복 문자 제거 (0) | 2022.03.10 |
[알고리즘] - 가장 긴 문자열 찾기 (0) | 2022.03.10 |
[알고리즘] - 문자 찾기 및 대소문자 관련 기초 알고리즘 (0) | 2022.03.07 |