30-Day LeetCoding Challenge - 4Day (Move Zeroes)

w-beom·2020년 4월 4일
0

Move Zeroes

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

Example:

Input: [0,1,0,3,12]
Output: [1,3,12,0,0]

Note:
1.You must do this in-place without making a copy of the array.
2.Minimize the total number of operations.

배열이 주어지면 순서 그대로 0만 뒤로 내보내는 문제이다.

Solution

class Solution {
    public void moveZeroes(int[] nums) {
        int temp = 0;
	for (int i = 0; i < nums.length; i++) {
		for (int j = i+1; j < nums.length; j++) {
			if (nums[i] == 0) {
				temp = nums[i];
				nums[i] = nums[j];
				nums[j] = temp;
			}
		}
	}
   }
}

요즘 문제를 풀면서 느끼는 건데 효율성을 고려하면서 알고리즘을 짜는건 정말 어렵다...
ㅠㅠㅠ 항상 왜 나는 이중 for문 밖에 생각이 안날까

profile
습득한 지식과 경험을 나누며 다른 사람들과 문제를 함께 해결해 나가는 과정에서 서로가 성장할 수 있는 기회를 만들고자 노력합니다.

0개의 댓글