반응형
ㅇ move zeros
ㅇ 실습 - 파이썬
# 풀이 1
# 0과 숫자 swap
def moveZeros1(nums):
zeroIdx = 0 # zeroIdx: 0을 가르키는 인덱스
for idx in range(len(nums)): # idx : 숫자를 가르키는 인덱스
if nums[idx]!=0:
# 0과 숫자 swap
nums[zeroIdx], nums[idx] = nums[idx], nums[zeroIdx]
zeroIdx += 1 # 파이썬은 증감 연산자(++/--)가 없다
return nums
# 풀이 2
# 숫자 카피 후 나머지 0 overriding
# nums[idx]를 복사하여 nums[zeroIdx]에 써준 후
# idx가 배열 밖으로 나간 순간 zeroIdx 인덱스부터 끝까지 0으로 덮어써줌
def moveZeros2(nums):
zeroIdx = 0 # zeroIdx: 0을 가르키는 인덱스
for idx in range(len(nums)): # idx : 숫자를 가르키는 인덱스
if nums[idx]!=0:
nums[zeroIdx] = nums[idx]
zeroIdx += 1 # 파이썬은 증감 연산자(++/--)가 없다
for newIdx in range(zeroIdx, len(nums)):
nums[newIdx] = 0
return nums
print(moveZeros1([0,0,3,5,2,0,0,3,0,2,0,5,4,3,0]))
print(moveZeros2([0,0,3,5,2,0,0,3,0,2,0,5,4,3,0]))
#참고사이트
https://www.youtube.com/watch?v=9_PnAyVVl8M&list=PLDV-cCQnUlIYFOXYzqLoXnEye4WxDa_30&index=4
반응형
'소소한 STUDY > 컴퓨터사이언스' 카테고리의 다른 글
[운영체제] 운영체제 란? (0) | 2023.01.25 |
---|---|
[네트워크] HTTP 메서드 (0) | 2023.01.24 |
[코드없는 프로그래밍/Arrays] Find pivot Index (0) | 2022.11.25 |
[코드없는 프로그래밍/Arrays] Binary Search (0) | 2022.10.11 |
[코드없는 프로그래밍/Arrays] 배열 기초 (1) | 2022.10.11 |