알파벳 대소문자로만 이루어진 문자열 my_string
이 주어질 때, my_string
에서 'A'의 개수, my_string
에서 'B'의 개수,..., my_string
에서 'Z'의 개수, my_string
에서 'a'의 개수, my_string
에서 'b'의 개수,..., my_string
에서 'z'의 개수를 순서대로 담은 길이 52의 정수 배열을 return 하는 solution 함수를 작성해 주세요.
my_string
의 길이 ≤ 1,000my_string | result |
---|---|
"Programmers" | [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0] |
입출력 예 #1
my_string
에서 'P'가 1개, 'a'가 1개, 'e'가 1개, 'g'가 1개, 'm'이 2개, 'o'가 1개, 'r'가 3개, 's'가 1개 있으므로 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0]를 return 합니다.function solution(my_string) {
const arr = Array(52).fill(0)
return [...my_string].reduce((acc, cur) => {
let curIdx
const curAlpha= cur.charCodeAt()
if(curAlpha >= 97) {
curIdx = curAlpha - 71
} else {
curIdx = curAlpha-65
}
acc[curIdx] = acc[curIdx] ?? 0
acc[curIdx]++
return acc
}, arr)
}