Files
2026-07-09 15:56:34 +09:00

20 lines
852 B
Python

# 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이다.
"""