[LeetCode] Create Target Array in the Given Order

준규·2022년 12월 28일
0

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.풀이

  1. 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.결과

profile
안녕하세요 :)

0개의 댓글