JavaScript/꽉잡아스크립트(스터디)

프로그래머스-외계행성의 나이 lv.0

heediv 2023. 6. 20. 18:57
반응형

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/120834?language=javascript 

 

프로그래머스

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

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 행성은 알파벳 소문자만 사용합니다.

 

풀이:

function solution(age) {
    let alpha = ['a','b','c','d','e','f','g','h','i','j'];
    let answer = '';
    age = age.toString();
    
    for (let i = 0; i < age.length; i++) {
        answer += alpha[age[i]];
    }
    return answer;
}

1) 먼저 a~j를 배열에 넣어준다.

alpha = ['a','b','c','d','e','f','g','h','i','j'];

2)정답을 나타낼 빈 문자열을 선언한다.

정수인 age를 문자화 해준다. toString()  

3) for문을 통해

알파벳의 인덱스 =  age의 십의자리와 일의자리를 인덱스로 나타낸 것 

age = "23"

age[0] = 2

age[1] = 3

 

alpha[age[0]] = 'c'

alphg[age[1]] = 'd'

 

4)선언해둔 빈 문자열에 위 값들을 계속 더해준다.

 

console.log(solution(23));

를 통해 확인해봄. 

반응형