문자열을 받아서 그 문자열 안의 문자들을 똑같은 문자가 나오는 빈도수에 따라
"문자", "빈도수" 형식의 원소로 만들고, 그 원소들을 빈도수가 많은 순서대로 정렬한 배열을 리턴하세요.
A.빈도 수에 따른 객체 생성
B.해당 객체를 배열로 전환
C.정렬
C-1. 숫자 정렬
c-2. 숫자가 중복되면 알파벳 순 정렬
const characterFrequency = function (string) {
let newStr = string.split('');
let newObj = {};
newStr.forEach(ele => {
(ele in newObj) ? newObj[ele]++ : newObj[ele] = 1;
})
return result = Object.entries(newObj).sort((a,b) =>
{ if ( a[1] !== b[1]){
return b[1]-a[1]
} else {
if ( a[0] < b[0] ) return -1;
else if ( a[0] == b[0] ) return 0;
else return 1;
}
});
};
const characterFrequency = function (string) {
let newStr = string.split('');
let newObj = {};
newStr.forEach(ele => {
(ele in newObj) ? newObj[ele]++ : newObj[ele] = 1;
})
//삼항연산자
return result = Object.entries(newObj).sort((a,b) =>
( a[1] !== b[1]) ?
b[1]-a[1]
: ( a[0] < b[0] ) ? -1
: ( a[0] == b[0] ) ? 0 : 1
);
};