문제 설명
문자열 my_string과 정수 배열 index_list가 매개변수로 주어집니다. my_string의 index_list의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
정수 배열에 forEach() 콜백 함수를 돌려 빈 문자열에 합치는 방식으로 처리하려고 했는데 이상하게 자꾸 오류가 났다.
그래서 차선책으로 새 배열을 만든 다음 하나의 문자열로 변환하는 방식을 택했다.
첫 문제 풀이 :
function solution(my_string, index_list) {
return index_list.map((index) => my_string[index]).join("");
}
그러고 다른 사람의 풀이를 구경하는데 내가 원래 하고 싶었던 방식과 흡사하게 해낸 사람이 있어서!!! 계속 도전해봤다.
두 번째 문제 풀이 :
function solution(my_string, index_list) {
let answer = "";
index_list.forEach(index => answer += my_string[index]);
return answer;
}
오류가 나는 원인은 answer을 변수로 선언하지 않고 상수로 선언해서였다.
상수를 선언하고 값을 할당할 경우, 값이 배열이나 객체라면 그 안의 요소나 속성은 업데이트할 수 있지만 값 자체는 재할당이 안 되는데
콜백 함수에서 자꾸 재할당을 하려고 하니 오류가 난 것이었다.
기초 중에 기초인데 은근히 놓치고 습관적으로 const로 선언하게 된다 ㅠㅠ
기초를 소홀히 하지 말자!!
'코딩테스트 > 프로그래머스 기초 트레이닝' 카테고리의 다른 글
[Javascript] l로 만들기 (0) | 2023.06.05 |
---|---|
[Javascript] 배열의 원소만큼 추가하기 - new Array(), fill() (0) | 2023.05.27 |
[Javascript] 마지막 두 원소 - at() (, reverse()) (0) | 2023.05.27 |
[Javascript] 테스트에서 사용한 배열(Array) 메소드 정리 (1) - join() reduce() sort() splice() (0) | 2023.05.27 |
[Javascript] 테스트에서 사용한 문자열 객체 메소드 정리 - replaceAll() includes() charAt() (0) | 2023.05.22 |
[출력 문제] 자바스크립트로 테스트 입력값 받기 (Node.js) (0) | 2023.05.18 |
[Javascript] n개 간격의 원소들 (0) | 2023.05.18 |
[Javascript] 종종 쓰는 Math 객체 메소드 - abs() ceil() floor() round() max() min() (그리고 pow() sqrt()까지) (0) | 2023.05.17 |