[프로그래머스] Lv.0 외계행성의 나이 JavaScript

Janet·2023년 4월 3일
0

Algorithm

목록 보기
98/314

문제 설명

우주여행을 하던 머쓱이는 엔진 고장으로 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합니다.

문제풀이

💡 문제풀이 과정

  • 주어진 매개변수 age가 10이상의 수인 경우, ‘1’과 ‘0’ 각각 두 자리로 쪼개줘야 한다. 하지만 age는 Number type이므로 split()할 수 없으므로, 문자화(String)하여 각각의 인덱스가 접근한다. 나의 경우는 […String(age)].map()를 이용하여 알파벳의 인덱스를 리턴하였다.
  • 답안 2번의 경우 다른 사람의 풀이로 replace()를 이용하였다.

✅ 답안 #1

function solution(age) {
  let answer = "";
  const alphabet = "abcdefghij";
  [...String(age)].map(i => answer += alphabet[i]);
  return answer;
}

✅ 답안 #2

function solution(age) {
  return age.toString().replace(/./g, (i) => "abcdefghij"[i]);
}
profile
😸

0개의 댓글