728x90
배열의 0을 모두 뒤로 보내는 문제이다.
class Solution {
public void moveZeroes(int[] arr) {
int n = arr.length;
int idx = 0;
for(int i = 0; i < n; i++) {
if(arr[i] != 0) {
arr[idx] = arr[i];
idx++;
}
}
for(int i = idx; i < n; i++) {
arr[idx] = 0;
idx++;
}
}
}
별도의 result배열을 만들어서 사용하면 더 수월하지만, 조건에 주어진 배열만을 활용하라고 했기 때문에
배열에서 0이 아닌것을 그 배열 그대로 앞에서부터 채워나간다. 그리고 나머지 남은 배열칸에 0을 넣는다.
그러면 초기 배열이 완전히 바뀐다.
'programming > 알고리즘 풀이' 카테고리의 다른 글
[SWEA] 2001. 파리 퇴치 (0) | 2021.08.05 |
---|---|
[SWEA] 2805. 농작물 수확하기 (0) | 2021.08.04 |
[leetcode] 66. Plus One (0) | 2021.06.22 |
[leetcode] 482. License Key Formatting (0) | 2021.06.22 |
[leetcode] 771. Jewels and Stones (0) | 2021.06.21 |
댓글