반응형
1. 문제
https://leetcode.com/problems/rotate-array/
2. 코드
이 문제의 첫번째 핵심은 파라미터로 들어온 nums 배열을 반환하는 것이다. 새로운 배열을 반환하면 오답처리 된다! 주석을 잘 볼 것.
두번째 핵심은, nums의 길이보다 k가 더 큰 경우를 고려해야 한다는 것이다.
예를 들어, nums는 [1,2] 인데 k가 5라면?
[2,1] -> [1,2] -> [2,1] -> [1,2] -> [2,1]
k가 1이 되고, [2]을 자르고 남은 nums 배열 안 요소 [1] 앞에 unshift를 통해 [2]를 붙혀 최종적으로 [2,1] 을 리턴한다.
/**
* @param {number[]} nums
* @param {number} k
* @return {void} Do not return anything, modify nums in-place instead.
*/
var rotate = function (nums, k) {
k %= nums.length;
nums.unshift(...nums.splice(nums.length - k));
return nums;
};
반응형
'리트코드 > midium' 카테고리의 다른 글
[리트코드] 198. House Robber - js (0) | 2023.08.14 |
---|---|
[리트코드] 347. Top K Frequent Elements - js (해시) (0) | 2023.08.14 |
[리트코드] 238. Product of Array Except Self - js (0) | 2023.08.12 |
[리트코드] 131. Palindrome Partitioning - js (0) | 2023.08.11 |
[리트코드] 739. Daily Temperatures - js (0) | 2023.08.10 |