<문제 설명>
제한사항
입출력 예ageresult
입출력 예 설명
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
제한사항
- age는 자연수입니다.
- age ≤ 1,000
- PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.
입출력 예ageresult
23 | "cd" |
51 | "fb" |
100 | "baa" |
입출력 예 설명
입출력 예 #1
- age가 23이므로 "cd"를 return합니다.
입출력 예 #2
- age가 51이므로 "fb"를 return합니다.
입출력 예 #3
- age가 100이므로 "baa"를 return합니다.
<제출답안>
function solution(age) {
let arr1 = age.toString().split("").map(x => Number(x),0)
let arr2 = "abcdefghijklmnopqrstuvwxyz".split("")
let result = [];
for(let i=0; i<4; i++){
result.push(arr2[arr1[i]])
}
return result.join("")
}
ㅡㅡㅡ> 보완내용.
1.
0~9까지만 필요하니깐 나머지 알파벳은 필요 x
2.
아래처럼 문자끼리 서로 더하면 문자열이 만들어짐.
function solution(age) {
var alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"];
var answer = "";
age = age.toString();
for(let i=0; i<age.length; i++){
answer += alphabet[age[i]];
}
return answer;
}
문자열 자체도 인덱스가 있으니 이렇게 바로 [v] 가능
function solution(age) {
return age
.toString()
.split("")
.map((v) => "abcdefghij"[v])
.join("");
}
'🗃️javascript > 프로그래머스' 카테고리의 다른 글
최댓값 만들기 (2)[이중반복문의 결과값들이 안 겹치게 사용 ] (0) | 2023.01.05 |
---|---|
가장 큰 수 찾기(Lv.0)[reduce()와 Math.max()로 배열에서 가장 큰 값 찾기] (0) | 2023.01.05 |
배열 회전시키기(Lv.0)[간단배열이동 적용끝판왕, slice(),splice() 상세설명] (0) | 2023.01.04 |
약수 구하기(Lv.0)[for문 if문을 map()과 filter()로 변경](Array, fill 알아보기) (0) | 2023.01.04 |
나머지가 1이 되는 수 찾기(Lv.1)[반복문 안의 return 값] (0) | 2023.01.04 |