📚
Zip Arrays
Zip Arrays - Explanation
보통 배열 O(n) O(n)
Problem Summary
Write a function that pairs up elements from two arrays.
Go to Problem →Detailed Explanation
이 문제는 **map의 인덱스 매개변수**를 활용하여 두 배열을 짝짓는 방법을 학습합니다. ## 핵심 개념: Zip 연산 Zip은 두 배열의 같은 위치에 있는 요소들을 쌍으로 묶는 연산입니다. ### 접근 방법 ```javascript arr1.map((val, i) => [val, arr2[i]]) ``` - map의 두 번째 매개변수는 현재 인덱스입니다 - 이 인덱스로 arr2의 같은 위치 요소에 접근합니다 ### map 콜백의 매개변수들 ```javascript array.map((element, index, array) => { ... }) ``` - element: 현재 요소 - index: 현재 인덱스 - array: 원본 배열 (거의 사용 안 함) ### 활용 예시 - 이름과 점수 배열을 합치기: zip(names, scores) - 키와 값 배열로 객체 만들기 - 두 데이터셋 병합 ### 주의사항 두 배열의 길이가 다르면 더 짧은 배열 기준으로 처리하거나, undefined가 포함될 수 있습니다.
Solution Code
solution.js
function zip(arr1, arr2) {
return arr1.map((val, i) => [val, arr2[i]]);
}Key Concepts from This Problem
1. map 인덱스 활용
2. zip 연산
3. 배열 쌍 만들기
4. 다중 배열 처리
Common Mistakes
✗ 두 배열 길이가 다를 때 처리를 고려해야 합니다
✗ map의 인덱스 매개변수를 잊고 별도로 카운터를 만드는 실수
✗ forEach와 map을 혼동하면 안 됩니다 - map은 새 배열을 반환합니다
Hints
Hint 1: map으로 인덱스를 활용하세요.
Complexity Analysis
Time Complexity
O(n)
Grows linearly with input size
Space Complexity
O(n)
Uses memory proportional to input size
Related Tags
#배열 #map #변환