
// 문제 3
// 주어진 문자열을 요약하는 함수
// str = "aaabbbc" // 출력 : "a3/b3/c1"
// str = "ahhhz" // 출력 : "a1/h4/z1"
let stringSummary = string => {
let obj = {};
// 단어를 담을 객체
string.split("").forEach(element => {
// 문자열을 단어 배열로 변경
if (!obj[element]) obj[element] = 1;
// 단어가 객체에 없으면
// 단어를 key로, 1를 value로 생성
else obj[element]++;
// 단어가 존재하면 value 증가
});
let result = "";
Object.keys(obj).forEach(key => {
result += key + obj[key] + "/";
// 단어와 value 붙여쓰기
});
return result.substring(0, result.length - 1);
};
console.log(stringSummary("aaabbbc"));
'Challenge' 카테고리의 다른 글
2-5 Challenge 유효한 괄호 (0) | 2024.08.20 |
---|---|
2-4 Challenge 두 수 선택 합 존재? (0) | 2024.08.20 |
2-2 Challenge 주어진 배열에서 [최솟값, 최댓값] (0) | 2024.08.20 |
2-1 Challenge 문자열에서 중복 제거 (0) | 2024.08.20 |
1-5 Challenge 자리 수 제거 후 가장 큰 수 (0) | 2024.08.19 |