문제 및 답안
/**
* @param {string} str
* @return {string}
*/
var toLowerCase = function(str) {
let ASCII = []
let output = [];
//문자열을 아스키코드로 변환, 대문자에 해당하는 아스키코드 값을 가졌다면 소문자 값으로 변환
for (let n of str) {
if (n.charCodeAt() > 64 && n.charCodeAt() < 91) {
ASCII.push(n.charCodeAt() + 32);
} else {
ASCII.push(n.charCodeAt());
};
}
// 아스키코드를 문자열로 변환하고 아웃풋 배열에 추가
for (let s of ASCII) {
let val = String.fromCharCode(s);
output.push(val);
}
// join() 메서드 사용하여 배열을 문자열로 바꾼 후 결과값 출력
return output.join("");
};
풀이 과정
Q) 문자열에 있는 대문자를 소문자로 바꿔서 출력하기
-
문자열을 아스키코드로 변환시킨다. (대문자와 소문자 아스키코드 값은 32가 차이난다. 예를들어 대문자 A의 값은 65이고, 소문자 a의 값은 65에 32를 더한 97이다.)
-
조건문을 통해 아스키코드 값이 대문자의 범위 내에 속하면 32를 더해줘서 소문자로 바꿔준다.
-
아스키코드로 변환된 값을 배열에 저장한다.
-
배열에 저장된 값을 문자열로 변환한다.
-
문자열로 변환된 값을 출력한다.