코딩테스트 연습/lv.0

외계행성의 나이

c29130811 2023. 8. 8. 23:25

문제 설명

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

 

solution.js

function solution(age) {
    return Array.from(String(age), Number).map(val => String.fromCharCode(val+97)).join('')
}

String.formCharCode() UTF-16 코드를 문자열로 반환 시켜주며, 97번이 'a'이다. 

 

String.fromCharCode() - JavaScript | MDN

String.fromCharCode() 메서드는 UTF-16 코드 유닛의 시퀀스로부터 문자열을 생성해 반환합니다.

developer.mozilla.org

https://string-functions.com/encodingtable.aspx?encoding=1200&decoding=20127 

 

Encoding utf-16 to us-ascii

 

string-functions.com

 

solution.py

def solution(age):
    return ''.join([chr(int(i)+97) for i in str(age)])
728x90

'코딩테스트 연습 > lv.0' 카테고리의 다른 글

순서쌍의 개수  (0) 2023.08.17
진료 순서 정하기  (0) 2023.08.15
배열 자르기  (0) 2023.08.06
짝수의 합  (0) 2023.07.31
양꼬치  (0) 2023.07.21