\(@^0^@)/
[์๊ณ ๋ฆฌ์ฆ] leetcode - rotate array ๋ณธ๋ฌธ
rotate array
https://leetcode.com/explore/learn/card/array-and-string/204/conclusion/1182/
๐ ๋ด๊ฐ ์๋ํ ์ฝ๋
๋ด๊ฐ ํผ ์ฝ๋๋ ์ด๋ ๋ค.
์ฝ์์์๋ ์ ์ฐํ์ง๋ง leetcode์ ์ ์ถํ๋ฉด
์ด๋ป๊ฒ ๋ ์๋ฌธ์ธ์ง,
์์ ์ด๋ฏธ์ง์ ๊ฐ์ด [5, 6, 7]์ ์ ์ธํ [1, 2, 3, 4]๋ง ์ ์ถ๋์ด์ ๊ฒฐ๊ตญ ๋ค๋ฅธ ์ฌ๋๋ค์ ์ฝ๋๋ฅผ ์ฐพ์๋ณด์์.
๐
๋ค๋ฅธ ์ฌ๋์ ํด๋ต ์ฝ๋
๋ค๋ฅธ ์ฌ๋๋ค์ ์ฝ๋๋ฅผ ๋ณด๋๋ฐ ์ค๋ต ์ฝ๋๋ค์ ์ ์ด๋์ใ
์ ํ๋ธ ๊ฐ์๋ฅผ ํตํด ํด๋ต ์ฝ๋๋ฅผ ์ฐพ์์ง๋ง,
๋ด๊ฐ ์ ๊ทผํ๊ธฐ ์ด๋ ค์ด ๋ฐฉ๋ฒ์ผ๋ก ํ์ด๋์ ์ง๊ธ ์์ค์ ๋ด๊ฐ ํ์ฉํ์ง ๋ชปํ ๊ฒ ๊ฐ๋ค..
var rotate = function(nums, k) {
k = k % nums.length
reverse(nums, 0, nums.length-1)
reverse(nums, 0, k-1)
reverse(nums, k, nums.length-1)
};
var reverse = function(nums, start, end) {
while(start < end) {
let temp = nums[start]
nums[start] = nums[end]
nums[end] = temp;
start++
end--
}
}
helper ํจ์๋ฅผ ํ์ฉํ์ฌ ํ์ด๋ธ ์๋ฃจ์
์ฝ๋.
์ฝ๋๋ ํ๋ฒ์ ์ดํด๋์ง ์์์ ๊ณต์ฑ
์ ์ซ์๋ค์ ์ ์ผ๋ฉฐ ํ๋์ฉ ํ๋์ฉ ์ดํดํ์๋ค.
๋ด๊ฐ ์ ์ ์ฝ๋์ unshift ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฌด๋๋ ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ์ธก๋ฉด์์ ์ข์ง ์์ ๊ฒ ๊ฐ์,
์ด๋ฐ ์์ผ๋ก helper ํจ์๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ์ฌ์ฌ์ฉ์ ์ธ ์ธก๋ฉด์์๋ ์ข๋ค๋ ์๊ฐ์ด ๋ ๋ค. ๋ด๊ฐ ๊ตฌํ๋ง ํ ์ ์๋ค๋ฉด...
helper ํจ์๋ฅผ ํ์ฉํ๋ ์ฐ์ต์ ํด๋ณด์.
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] leetcode - Reverse Words in a String III (0) | 2022.07.04 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] leetcode - Pascal's Triangle II (0) | 2022.07.03 |
[์๊ณ ๋ฆฌ์ฆ] ์ฌ๊ท๋ฅผ ์ฌ์ฉํ stringifyNumbers (0) | 2022.06.22 |
[์๊ณ ๋ฆฌ์ฆ] ์คํ(Stack)๊ณผ ๊ตฌํ ๋ฉ์๋ (0) | 2022.05.09 |
[์๊ณ ๋ฆฌ์ฆ] ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Double LinkedList)์ ๊ตฌํ ๋ฉ์๋ (0) | 2022.05.04 |