본문 바로가기
프로그래밍 문제/c# 문제

c# 문제 50. 정수형 배열의 특정 숫자 이동

by 지나팩 2023. 11. 28.

주어진 배열에서 입력받은 숫자를 모두 뒤로 이동하는 코드를 작성하고 결과를 출력하세요. 이동 코드는 메소드를 통해 작성하세요. 입력은  0 ~ 9.

 

int[] arr = {1,3,8,4,1,6,0,7,3,2,2,8,0,0,5,7,4,6,8,9,5,3,7,6,4,1,3,8,9,0,5,3,2,7};

출력 예)

코드는 아래에~~~~~~~~~~~~~~~~~~~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class Program
    {
        static void Main()
        {
            int[] arr = { 1384160732280057468953764138905327 };
 
            int a;
 
            Console.WriteLine("뒤로 이동시킬 숫자를 입력하세요:");
            a = int.Parse(Console.ReadLine());
 
            Console.WriteLine("이동 전");
            foreach (int i in arr) Console.WriteLine(i);
 
            MoveNumber(arr, a);
 
            Console.WriteLine();
 
            Console.WriteLine("이동 후");
            foreach (int i in arr) Console.WriteLine(i);
        }
 
        static void MoveNumber(int[] arr,int n)
        {
            int cnt = 0;
 
            //입력받은 수가 아니면 앞으로 복사
            for(int i  = 0; i < arr.Length; i++)
            {
                if(arr[i] != n)
                {
                    arr[cnt++= arr[i];
                }
            }
 
            //나머지 부분을 입력받은 수로 채움
            while(cnt < arr.Length)
            {
                arr[cnt++= n;
            }            
        }
    }
cs

댓글