- 인수 age 는 number type 으로 들어온다. (age 는 1,000 이하)
- age의 각 자리 숫자에 맞는 알파벳(소문자)이 반환되어야 한다.
function solution(age) {
const ageStr = age.toString()
const alphabetAge = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
let programmers962_age = []
for(let i = 0; i < ageStr.length; i++){
programmers962_age.push(alphabetAge[ageStr[i]])
}
const res = programmers962_age.join('')
return res
}
차근차근 영차영차 풀어냈다 🥹
이후, 다른사람들의 풀이를 보며 코드를 좀 더 간결하게 수정할 수 있었다.
💡 programmers962_age = [] ➡️ programmers962_age = ""
반환값은 string 이 되어야 하니, 애초부터 string으로 programmers962_age를 선언해줄 수 있다.
배열선언 및 초기화만 하다보니... 애초부터 string으로 선언해줄 수 있는걸 몰랐지 모야
그럼 join함수를 쓰는 등 부가적인 가공은 필요없어지고 간단한 연산만 추가하면 된다! 👇🏻
function solution(age) {
const ageStr = age.toString()
const alphabetAge = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
let programmers962_age = ""
for(let i = 0; i < ageStr.length; i++){
programmers962_age += alphabetAge[ageStr[i]]
}
return programmers962_age
}
🤭 (수줍게 웃기)
function solution(age) {
return age
.toString()
.split("")
.map((v) => "abcdefghij"[v])
.join("");
}
😨... 치..
age를 string으로 변환 후, split으로 한글자씩 나눠주고, map을 돌려서 각 요소를 알파벳요소의 인덱스요소로 넣어준 다음, join으로 하나의 string으로 합쳐준다.