[프로그래머스] 외계 행성의 나이
카테고리 : 컴퓨터 공학
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 외계 행성의 나이 · js 외계 행성의 나이
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 외계 행성의 나이 · js 외계 행성의 나이
문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 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 행성은 알파벳 소문자만 사용합니다.
입출력 예
age | result |
---|---|
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 programmers = {
0: "a",
1: "b",
2: "c",
3: "d",
4: "e",
5: "f",
6: "g",
7: "h",
8: "i",
9: "j",
};
var answer = age.toString().split("");
var result = answer.map((item) => programmers[item]).join("");
return result;
}
나의 두번째 풀이(Code Refactoring)
function solution(age) {
return age
.toString()
.split("")
.map((v, i) => "abcdefghij"[v])
.join("");
}
// 다시 풀어보니 굳이 key,value로 안만들어도 "abcdefghij"의 인덱스값을 추출하면 해당값이 추출되서 불필요한 객체를 만들어줄 필요가 없다.
참고 할 만한 다른 사람의 코드
function solution(age) {
let char = "abcdefghij";
return Array.from(age.toString())
.map((t) => char[+t])
.join("");
}
//Array.from으로 푸는 방법