개발로그필름
[프로그래머스] 외계행성의 나이 javascript (split, map, join, from) 본문
728x90
반응형
SMALL
https://school.programmers.co.kr/learn/courses/30/lessons/120834
문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 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
'coding test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 대소문자 바꿔서 출력하기 javascript (0) | 2023.04.20 |
---|---|
[프로그래머스] 최댓값 만들기(1) javascript (0) | 2023.04.17 |
[프로그래머스] 배열 자르기 javascript | slice() (0) | 2023.03.04 |
[프로그래머스] 짝수의 합 javascript (0) | 2023.03.03 |
[프로그래머스] 양꼬치 javascript (~~연산자, Math.floor(), parseInt() ) (0) | 2023.03.02 |
Comments