Programmers
외계행성의 나이
해말그미
2024. 10. 17. 22:29
🌼 풀이
function solution(age) {
return age
.toString()
.split("")
.map((v) => "abcdefghij"[v])
.join("");
}
age.toString() : 문자열로 변환. 예를들어, age가 23 이면 문자열 "23"
.split("") : 각 문자로 나눠 배열로 만든다. "23"은 ["2","3"]
.map((v) => "abcdefghij"[v]) ; 문자열 자체도 인덱스[]로 접근 가능한 것을 기억해야 한다. ["c","d"]를 반환한다.
.join(""): 배열 사이사이가 다 붙어서 하나의 문자열로 만든다 "cd"
🌼 다른 풀이
function solution(age) {
let char = 'abcdefghij'
return Array.from(age.toString()).map(t => char[+t]).join('');
}
Array.from(age.toString()) :
Array.from()은 문자열을 배열로 변환하는 메서드이다. age.toString()이 "23"이라면, 이를 ['2', '3']라는 배열로 변환한다. 각 문자가 배열의 요소로 들어가게 된다.
단항 덧셈 연산자는 주로 문자열을 숫자로 변환할 때 많이 사용. +를 값 앞에 붙이면, 그 값을 숫자로 변환하려는 시도가 이루어진다. 이 연산자는 숫자가 아닌 값에 대해 숫자로 변환 가능한 경우 변환해주고, 이미 숫자라면 그대로 반환한다.
<예시>
console.log(+true); // 1 (불리언 true는 숫자 1로 변환)
console.log(+false); // 0 (불리언 false는 숫자 0으로 변환)
console.log(+"42"); // 42 (문자열 '42'는 숫자 42로 변환)
console.log(+"abc"); // NaN (숫자로 변환할 수 없는 경우 NaN)
console.log(+null); // 0 (null은 숫자 0으로 변환)
console.log(+undefined); // NaN (undefined는 NaN으로 변환)