728x90
[시도과정]
function solution(age) {
// 초기값: 문자열
let answer = '';
//age는 number이므로 문자로 바꾸기
let str = String(age); // 23 --> "23"
//문자를 각 배열로 만들어 주기
let arr = Array.from(str); // "23" --> ["2", "3"]
let match = {
"0":"a",
"1":"b",
"2":"c",
"3":"d",
"4":"e",
"5":"f",
"6":"g",
"7":"h",
"8":"i",
"9":"j"
}
answer = arr.forEach((el) => match[el]); //["c", "d"]
return answer;
}
지난 시간 배운 Array.from 메소드를 활용하여 문자를 배열로 치환하였다!
[오답노트]
1. forEach는 배열의 각 요소에 대해 함수를 실행하기 위한 메서드이다. 그러나 그 자체로는 값을 반환하지 않는다. 즉, forEach의 반환 값은 undefined이다. 즉 작업의 결과로 어떤 값을 직접 반환하려는 경우에는(이 예제에서도 반드시 return값이 있어야 하므로), 이럴 때는 map, filter, reduce와 같은 다른 배열 메서드를 사용하는 것이 더 적합하다.
2. join 메소드의 역할과 예제: 배열을 전체 하나의 문자열로 바꿀 때 사용한다. 아래는 예제이다.
let fruits = ['apple', 'banana', 'cherry'];
let result1 = fruits.join(); // "apple,banana,cherry"
let result2 = fruits.join(' - '); // "apple - banana - cherry"
let result3 = fruits.join(''); // "applebananacherry"
console.log(result1); // apple,banana,cherry
console.log(result2); // apple - banana - cherry
console.log(result3); // applebananacherry
[정답]
function solution(age) {
// 초기값: 문자열
let answer = '';
//age는 number이므로 문자로 바꾸기
let str = String(age); // 23 --> "23"
//문자를 각 배열로 만들어 주기
let arr = Array.from(str); // "23" --> ["2", "3"]
let match = {
"0":"a",
"1":"b",
"2":"c",
"3":"d",
"4":"e",
"5":"f",
"6":"g",
"7":"h",
"8":"i",
"9":"j"
}
// 여기서 join을 해주면,
answer = arr.map((el) => match[el]).join(''); // ["c", "d"] --> cd"
return answer;
}
728x90
반응형
'코딩테스트(JavaScript) > 코딩테스트 입문' 카테고리의 다른 글
프로그래머스- 2차원으로 만들기 (0) | 2023.09.04 |
---|---|
프로그래머스-진료 순서 정하기 (0) | 2023.08.24 |
프로그래머스-특정 문자 제거하기 (0) | 2023.08.21 |
프로그래머스-짝수 홀수 개수 (0) | 2023.08.20 |
프로그래머스-직각삼각형 출력하기 (0) | 2023.08.18 |