1.문제
Given two arrays of integers nums and index. Your task is to create target array under the following rules:
- Initially target array is empty.
- From left to right read nums[i] and index[i], insert at index index[i] the value nums[i] in target array.
- Repeat the previous step until there are no elements to read in nums and index.
Return the target array.
It is guaranteed that the insertion operations will be valid.
nums 배열과 index 배열이 주어질 때 nums 배열을 처음부터 끝까지 읽으면서 해당하는 인덱스에 해당하는 value값이 있는 target 배열을 리턴하는 문제이다.
Example 1
Input: nums = [0,1,2,3,4], index = [0,1,2,2,1]
Output: [0,4,1,3,2]
Explanation:
nums index target
0 0 [0]
1 1 [0,1]
2 2 [0,1,2]
3 2 [0,1,3,2]
4 1 [0,4,1,3,2]
Example 2
Input: nums = [1,2,3,4,0], index = [0,1,2,3,0]
Output: [0,1,2,3,4]
Explanation:
nums index target
1 0 [1]
2 1 [1,2]
3 2 [1,2,3]
4 3 [1,2,3,4]
0 0 [0,1,2,3,4]
Example 3
Input: nums = [1], index = [0]
Output: [1]
Constraints:
- 1 <= nums.length, index.length <= 100
- nums.length == index.length
- 0 <= nums[i] <= 100
- 0 <= index[i] <= i
2.풀이
- for문을 돌면서 해당하는 인덱스에 해당하는 value 값을 넣어준다.
/**
* @param {number[]} nums
* @param {number[]} index
* @return {number[]}
*/
const createTargetArray = function (nums, index) {
let target = [];
for (let i = 0; i < nums.length; i++) {
// 지정된 인덱스에 지정된 숫자를 넣어준다.
target.splice(index[i], 0, nums[i]);
}
return target;
};
3.결과
