문제
알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우
반복되는 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하여 출력
단, 반복횟수가 1인 경우 생략합니다.
풀이 과정
Map을 이용해서 푼다.
const solutionA = (word) => {
let answer = '';
const wordMap = new Map();
for (let character of word) {
if (wordMap.has(character)) wordMap.set(character, wordMap.get(character) + 1);
else wordMap.set(character, 1);
}
for (const [key, value] of wordMap) {
answer += key;
value !== 1 && (answer += value);
}
return answer;
};
const testA = solutionA('KKHSSSSSSSE');
console.log(testA);
틀린 부분이 있거나 보충해야 할 내용이 있다면 댓글이나 DM(sungstonemin)으로 알려주시면 감사하겠습니다😄