728x90
반응형
2차원으로 만들기
문제설명 :
정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.
num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.
제한 사항
- num_list의 길이는 n의 배 수개입니다.
- 0 ≤ num_list의 길이 ≤ 150
- 2 ≤ n < num_list의 길이
입출력 예
num_list | n | result |
[1, 2, 3, 4, 5, 6, 7, 8] | 2 | [[1, 2], [3, 4], [5, 6], [7, 8]] |
[100, 95, 2, 4, 5, 6, 18, 33, 948] | 3 | [[100, 95, 2], [4, 5, 6], [18, 33, 948]] |
접근
: 배열의 요소를 n개씩 잘라 새로운 배열에 넣자. arr.slice()는 배열 내 특정 인덱스 범위 내 요소들을 배열로 반환함을 이용하면 풀 수 있다.
function solution(my_string) {
let str = new Set(my_string);
let answer = '';
for(let i of str){
answer += i
}
return answer;
}
solution
function solution(num_list, n) {
var answer = [];
while(num_list.length) {
answer.push(num_list.splice(0,n));
}
return answer;
}
function solution(num_list, n) {
return Array(num_list.length / n).fill([]).map(() => num_list.splice(0, n))
}
// arr.splice()가 삭제한 요소를 반환함을 이용하여 문제를 풀 수 있다.
728x90
반응형
'자료구조 및 알고리즘 > JavaScript Practice' 카테고리의 다른 글
JS Practice) 프로그래머스 : 진료 순서 정하기 (0) | 2023.03.17 |
---|---|
JS Practice) 프로그래머스 : 팩토리얼 (1) | 2023.03.16 |
JS Practice) 프로그래머스 : 모스부호(1) (2) | 2023.03.14 |
JS Practice) 프로그래머스 : 가까운 수 (0) | 2023.03.14 |
JS Practice) 프로그래머스 : 숫자 빈도수 구하기 (0) | 2023.03.13 |