본문 바로가기

Algorithms

moveZeros

문제

주어진 배열에서 0을 끝쪽으로 보내는 함수를 만들어라

풀이

1. for문을 돌려 i가 0이 아닐 경우 array[index] = array[i].

2. for문이 끝나면 index의 위치부터 array.Length까지 0를 대입.

 

코드

class Program
    {
        public static void Main()
        {
            int[] array = { 9, 1, 2, 0, 4, 7, 6, 0, 0 };

            MoveZeros(array);

        }
        public static void MoveZeros(int[] array)
        {
            int index = 0;
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] != 0)
                {
                    array[index] = array[i];
                    index++;
                }
            }
            for (int i = index; i < array.Length; i++)
            {
                array[i] = 0;
            }

            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array[i]);
            }
        }
    }

결과

'Algorithms' 카테고리의 다른 글

Find Pivot Index  (0) 2022.10.07
최빈값 Mode 알고리즘  (0) 2022.09.02
검색 알고리즘 이진 탐색(이분 탐색) Binary Search  (0) 2022.09.01
선택 정렬 알고리즘  (0) 2022.09.01
순위 알고리즘  (0) 2022.09.01