알파벳 대소문자로만 이루어진 문자열 my_string
이 주어질 때, my_string
에서 'A'의 개수, my_string
에서 'B'의 개수,..., my_string
에서 'Z'의 개수, my_string
에서 'a'의 개수, my_string
에서 'b'의 개수,..., my_string
에서 'z'의 개수를 순서대로 담은 길이 52의 정수 배열을 return
하는 solution
함수를 작성하는 문제이다.
function solution(my_string) {
const counts = new Array(52).fill(0);
for (let i = 0; i < my_string.length; i++) {
let asciiCode = my_string.charCodeAt(i);
if (asciiCode >= 97) {
counts[asciiCode - 71]++;
} else {
counts[asciiCode - 65]++;
}
}
return counts;
}
const counts = new Array(52).fill(0);
let asciiCode = my_string.charCodeAt(i);
charCodeAt
메서드는 문자열에서 특정 위치의 문자를 ASCII 코드 값(숫자 형태)으로 변환해준다.asciiCode
를 선언하고, my_string
의 i
번째 문자의 ASCII 코드 값을 이 변수에 저장한다.// 현재 문자가 소문자인지 확인한다.
// 소문자의 ASCII 코드 범위는 97('a')부터 122('z')
if (asciiCode >= 97) {
counts[asciiCode - 71]++;
} else {
// 대문자의 ASCII 코드 범위는 65('A')부터 96('Z')
counts[asciiCode - 65]++;
}
function solution(my_string) {
const counts = new Array(52).fill(0);
// 문자열 my_string의 각 문자에 대해 반복한다.
for (let i = 0; i < my_string.length; i++) {
let asciiCode = my_string.charCodeAt(i);
if (asciiCode >= 97) {
counts[asciiCode - 71]++;
} else {
counts[asciiCode - 65]++;
}
}
// 계산된 출현 횟수 배열을 반환한다.
// 이 배열은 각 알파벳 문자가 my_string 내에 나타나는 횟수를 순서대로 저장한다.
return counts;