leetcode.com/problems/shuffle-the-array/
nums 배열이 [1, 2, 3, 1, 2, 3] 이고
n 이 3이면
결과값은 [1, 1, 2, 2, 3, 3] 이 되어야 합니다.
그래서
먼저 중간 인덱스 값은 mid를 구합니다.
그리고 배열이 나누어져 있다고 생각하고
[1, 2, 3] [1, 2, 3]
새로운 빈 배열에 하나씩 넣습니다.
javascript
/**
* @param {number[]} nums
* @param {number} n
* @return {number[]}
*/
const shuffle = (nums, n) => {
if (nums.length <= 2) return nums
const shuffled = []
const mid = Math.floor(nums.length / 2)
for (let i = 0; i < mid; i++) {
shuffled.push(nums[i])
shuffled.push(nums[i + n])
}
return shuffled
};
typescript
function shuffleTS(nums: number[], n: number): number[] {
if (nums.length <= 2) return nums
const shuffled: number[] = []
const mid: number = Math.floor(nums.length / 2)
for (let i = 0; i < mid; i++) {
shuffled.push(nums[i])
shuffled.push(nums[i + n])
}
return shuffled
};
golang
func shuffle(nums []int, n int) []int {
if len(nums) <= 2 {
return nums
}
result := make([]int, len(nums))
mid := int(len(nums) / 2)
i := 0
j := 0
for i < mid {
result[j] = nums[i]
result[j+1] = nums[i+n]
i++
j += 2
}
return result
}
'코딩 테스트 > LeetCode' 카테고리의 다른 글
Easy) 1512. Number of Good Pairs (0) | 2020.09.15 |
---|---|
Easy) 1108. Defanging an IP Address (0) | 2020.09.15 |
Easy) 771. Jewels and Stones (0) | 2020.09.15 |
Easy) Kids With the Greatest Number of Candies (0) | 2020.09.13 |
Easy. Running Sum of 1d Array (0) | 2020.07.02 |