본문 바로가기
programming/알고리즘 풀이

[leetcode] 283. Move Zeroes

by 몽구스_ 2021. 6. 29.
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

댓글