프로그래머스 / JavaScript / 외계행성의 나이

  • 외계행성의 나이
 
문제 설명

우주여행을 하던 머쓱이는 엔진 고장으로 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 chr = 'abcdefghij';
   return Array.from(age.toString())
      .map((v) => chr[v])
      .join('');
}

console.log(solution(23));

 

/**
 * 1. toString() 메서드를 활용해 numberTYPE의 값인 age를 문자열로 만들어줌
 * 2. Array.from() 메서드를 활용해 배열로 변환
 * 3. 배열 메서드인 map()를 활용해 index값으로 활용 후
 * 4. join("")메서드를 활용해 배열의 모든 요소를 연결
 *
 * **join()
 *   VS
 * **join('')
 *
 * - join()메서드는 배열의 모든 요소를 하나의 문자열로 합침. 이때, 각 요소는 기본적으로 쉼표로 구분됨.
 * 만약 join()에 아무 값도 전달하지 않으면 쉼표가 기본 구분자로 사용된다.
 *
 * - join('')은 빈 문자열('')을 구분자로 사용하여 배열의 모든 요소를 연결함
 * 따라서, 각 요소 사이에 아무런 문자도 추가되지 않음
 *
 */

 

출처: 프로그래머스 코딩 테스트 연습 : https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr