easy/array 283 성공
This commit is contained in:
20
easy/array/283.py
Normal file
20
easy/array/283.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# Move Zeroes
|
||||
|
||||
class Solution:
|
||||
def moveZeroes(self, nums: list[int]) -> None:
|
||||
next_idx = 0
|
||||
for i in range(len(nums)):
|
||||
if nums[i] != 0:
|
||||
nums[next_idx], nums[i] = nums[i], nums[next_idx]
|
||||
next_idx += 1
|
||||
return
|
||||
|
||||
"""
|
||||
걸린 시간: 18분
|
||||
|
||||
복잡도: 리스트의 모든 요소를 확인하며 이동 여부를 결정하고 이동할때는 O(1)이므로 전체 시간복잡도는 O(n)이다.
|
||||
주어진 리스트 내에서 이동하며, 포인터 하나만 활용하기 때문에 공간복잡도는 O(1)이다.
|
||||
|
||||
해설: 앞에서부터 0이 아닌 숫자들을 정렬할 인덱스를 순차적으로 늘려가면서 0이 아닐때만 들어가야할 인덱스 값과 스위치하면 된다.
|
||||
들어가야할 인덱스에 있는 값은 본인이 아닌 이상 무조건 0이다.
|
||||
"""
|
||||
Reference in New Issue
Block a user