반응형
문제 설명
입력받은 배열을 n개씩 나눠 2차배열로 만들어주는 문제
자세한 내용이 궁금하시다면 아래 링크를 참고해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/120842
나의 풀이
입력받은 배열의 Length와 n을 나눈 횟수만큼 반복되어야 한다.
Slice를 활용해 배열을 자르고 자른 배열을 리턴해주어 바로 answer에 push 되도록 하였다.
첫번째 예시값으로 설명하자면 index 0부터 index 2까지 끊어 1,2를 넣어준다.
** slice는 배열을 반환하므로 , startIndex , End
function solution(num_list, n) {
const answer = [];
for(let i = 0; i < num_list.length / n; i++) {
answer.push(num_list.slice(i * n, i * n + n))
}
return answer;
}
다른사람의 풀이
splice를 사용한것을 보고 정리해둡니다.
function solution(num_list, n) {
var answer = [];
while(num_list.length) {
answer.push(num_list.splice(0,n));
}
return answer;
}
반응형
한번쯤 제대로 정리해두면 좋을것같아 깔끔하게 정리된 곳에서 가져왔다.
출처: https://im-developer.tistory.com/103 [Code Playground:티스토리]
slice(start[, end])
start: 추출 시작점에 대한 인덱스.
- undefined인 경우: 0부터 slice
- 음수를 지정한 경우: 배열의 끝에서부터의 길이를 나타낸다. slice(-2)를 하면 배열의 마지막 2개의 요소를 추출한다.
- 배열의 길이와 같거나 큰 수를 지정한 경우: 빈 배열을 반환한다.
end: 추출을 종료할 기준 인덱스. (end를 제외하고 그 전까지의 요소만 추출한다.)
- 지정하지 않을 경우: 배열의 끝까지 slice
- 음수를 지정한 경우: 배열의 끝에서부터의 길이를 나타낸다. slice(2, -1)를 하면 세번째부터 끝에서 두번째 요소까지 추출
- 배열의 길이와 같거나 큰 수를 지정한 경우: 배열의 끝까지 추출.
반환값: 추출한 요소를 포함한 새로운 배열.
splice(start[, deleteCount[, item1[, item2[, ...]]]])
start: 배열의 변경을 시작할 인덱스.
- 음수를 지정한 경우: 배열의 끝에서부터 요소를 센다.
- 배열의 길이보다 큰 수를 지정한 경우: 실제 시작 인덱스는 배열의 길이로 설정
- 절대값이 배열의 길이보다 큰 경우: 0으로 세팅
deleteCount: 배열에서 제거할 요소의 수.
- 생략 / 값이 array.length - start보다 큰 경우: start부터의 모든 요소를 제거.
- 0 이하의 수를 지정: 어떤 요소도 제거되지 않는다.
item1, item2, ... : 배열에 추가할 요소.
- 지정하지 않는 경우: splice()는 요소 제거만 수행한다.
반환값: 제거한 요소를 담은 배열.
- 아무 값도 제거하지 않았으면 빈 배열을 반환한다.
반응형
'Javascript > 코딩테스트-연습' 카테고리의 다른 글
[JavaScript] 소인수분해 - 프로그래머스 (27) | 2024.03.29 |
---|---|
[JavaScript] 배열 회전 시키기 - 프로그래머스 (24) | 2024.03.28 |
[JavaScript] 구슬을 나누는 경우의 수 - 프로그래머스 (32) | 2024.03.26 |
[JavaScript] 모스부호(1) - 프로그래머스 (28) | 2024.03.26 |
[JavaScript] 개미군단 - 프로그래머스 (24) | 2024.03.25 |