문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
filter()로 하면 되겠다!
➡ 엇 색인을 어떻게 선별하지
➡ for 반복문으로 해봐야겠다.
➡ 조건에 i + n, i * n 같은 뻘짓만 해보다가 반복문 자체가 안 돌아가는 오류로 장렬히 실패.
(1. 당연하지...0+2 1+2 2+2가 무슨 소용이야...)
(2. 당연하지...0*n은 0인데...)
filter() 메소드를 이용한 풀이는 다음과 같다.
function solution(num_list, n) {
return num_list.filter((v, i) => i % n === 0);
}
function solution(num_list, n) {
return num_list.filter((_, i) => i % n === 0);
}
언더바( _ ) 매개변수는 사용하지 않는 변수를 뜻한다고 한다.
전부터 다른 사람의 풀이에 가끔 보이던 건데, 누군가 댓글로 질문해줘서 이번에 나도 알게 됐다. 감사합니다...!
그리고 for 반복문으로 내가 짜고 싶었던 코드는 이거다.
function solution(num_list, n) {
let answer = [];
for (let i = 0; i < num_list.length; i++) {
if (i%n === 0) {
answer.push(num_list[i]);
}
}
return answer;
}
알고리즘에서 어떤 방향과 절차로 풀어나가야 하는지까지는 쉽게 그릴 수 있는 것 같은데
항상 그 계산을 이루어내는 기술적 방법에서 막히는 것 같다...
대부분이 그렇겠지만~!
계속 풀면서 자바스크립트를 숙련하는 방법밖에 없을 것 같다. 화이팅!
'코딩테스트 > 프로그래머스 기초 트레이닝' 카테고리의 다른 글
[Javascript] 테스트에서 사용한 배열(Array) 메소드 정리 (1) - join() reduce() sort() splice() (0) | 2023.05.27 |
---|---|
[Javascript] 글자 이어 붙여 문자열 만들기 (0) | 2023.05.22 |
[Javascript] 테스트에서 사용한 문자열 객체 메소드 정리 - replaceAll() includes() charAt() (0) | 2023.05.22 |
[출력 문제] 자바스크립트로 테스트 입력값 받기 (Node.js) (0) | 2023.05.18 |
[Javascript] 종종 쓰는 Math 객체 메소드 - abs() ceil() floor() round() max() min() (그리고 pow() sqrt()까지) (0) | 2023.05.17 |
[Javascript] 배열 만들기 - split() Array.from() 전개연산자 (0) | 2023.05.17 |
[Javascript] 첫 번째로 나오는 음수 - findIndex() find() indexOf() (0) | 2023.05.17 |
[Javascript] 자료형 변환 (0) | 2023.05.17 |