문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
길이가 고정된 정수 배열 arr이 주어졌을 때, 0이 나타나는 모든 위치를 복제하고 나머지는 오른쪽으로 이동시켜라.
#1
Input: arr = [1, 0, 2, 3, 0, 4, 5, 0]
Output: [1, 0, 0, 2, 3, 0, 0, 4]
#2
Input: arr = [1, 2, 3]
Output: [1, 2, 3]
class Solution {
public void duplicateZeros(int[] arr) {
int[] result = new int[arr.length];
int idx = 0;
for(int i = 0; i < arr.length && idx < arr.length; i++){
if(arr[i] == 0){
idx += 2;
}else{
result[idx] = arr[i];
idx++;
}
}
for(int i = 0; i < result.length; i++){
arr[i] = result[i];
}
}
}