알고리즘/인프런
[JS] - 문자열 압축
미니미니찍찍
2022. 3. 25. 14:38
알파벳 대문자로 이루어진 문자열을 입력받아
같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로
오른쪽에 반복 횟수를 표기하는 방법
단 ,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
반응형