개발로그필름

[프로그래머스] 외계행성의 나이 javascript (split, map, join, from) 본문

coding test/프로그래머스

[프로그래머스] 외계행성의 나이 javascript (split, map, join, from)

yuullog 2023. 3. 5. 14:42
728x90
반응형
SMALL

https://school.programmers.co.kr/learn/courses/30/lessons/120834

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제 설명

우주여행을 하던 머쓱이는 엔진 고장으로 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 행성은 알파벳 소문자만 사용합니다.

 

입출력 예

 

입출력 예 설명

 

solution.js

function solution(age) {
    var alpha = 'abcdefghij'
    return String(age).split("").map(x => alpha[x]).join("");
}

age를 String으로 형변환한뒤 split으로 각 숫자를 나눈다

나눈 수를 alpha 문자열의 인덱스에 대입시켜 맞는 알파벳을 대응시킨뒤 join으로 문자열 만들어 return

 

 

다른 사람 풀이 1

function solution(age) {
  return age
    .toString()
    .split("")
    .map((v) => "abcdefghij"[v])
    .join("");
}

알파벳 문자열을 "abcedfghij"[v] 로 표현한것이 신기했다

 

 

다른 사람 풀이 2

function solution(age) {
    let char = 'abcdefghij'
    return Array.from(age.toString()).map(t => char[+t]).join('');
}

 

Array.from()

유사 배열 객체나 반복 가능한 객체를 복사해 새로운 Array를 만든다

Array.from('25')  // ["2", "5"]

반응형
LIST
Comments