알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오. 단 반복횟수가 1인 경우 생략합니다.
첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다.
첫 줄에 압축된 문자열을 출력한다.
입력 : KKHSSSSSSSE
출력 : K2HS7E
const solution = (input) => {
let S = input[0];
let cnt = 1;
let answer = `${S}`;
for (let i = 1; i < input.length; i++) {
if (input[i] === S) {
cnt++;
} else {
cnt === 1 ? null : (answer += cnt);
S = input[i];
answer += S;
cnt = 1;
}
}
return answer;
};
const a = solution("KKHSSSSSSSE");
console.log(a); // K2HS7E