반응형
코딩테스트 외계행성의 나이
문제 설명
출력 예시
머쓱이는 외계행성에 불시착하여 입국심사 도중에 문제가 생깁니다.
그 행성에선 나이를 알파벳으로 말하고 있었습니다!
a는 0, b는 1, c는2 ... f는9 로 말이져.
즉 19살은 "bf"로, 21살은 "cb" 로 출력해야 하는 문제입니다.
let age = 23;
age = age.toString(); //숫자열을 문자열로 변환
let num = age.split(''); //변환한 문자열을 한자리씩 쪼개기 [2,3]
const eng = ['a','b','c','d','e','f','g','h','i','j']; //숫자와 매칭할 알파벳 배열 준비
우선 준비물은 이렇게 있으면 될 것 같습니다.
변수 age 를 한자리씩 비교를 하기 위해 쪼개기 위한 준비입니다.
age는 숫자이기 때문에 문자열로 변환하여 split을 사용하여 2와 3으로 나누어 num에 저장했습니다.
let age = 23;
age = age.toString(); //숫자열을 문자열로 변환
let num = age.split(''); //변환한 문자열을 한자리씩 쪼개기 [2,3]
const eng = ['a','b','c','d','e','f','g','h','i','j']; //숫자와 매칭할 알파벳 배열 준비
let answer = '';
num.forEach(e=>{
answer += eng[e]
})
//answer = "cd"
forEach메서드를 사용하여 answer에 나이를 알파벳으로 저장했습니다.
num의 처음 요소가 2라면 eng[2] 인 c를 answer에 추가시키고,
num의 두번째 요소인 3이라면 eng[3] 인 d를 answer에 추가해줍니다.
그러므로 정답인 answer엔 "cd" 가 나옵니다!