본문 바로가기
Program Language/C#

Part2. C# 기초 다지기(6. 배열의 최대 / 최소 값 구하기)

by 토담이아빠 2023. 2. 15.

배열의 최대 / 최소값 구하기

 

이번 포스팅에서는 배열의 최소, 최대값을 구하는 방법에 대해서 정리했습니다.


랜덤 배열 생성

 

최소, 최대값을 구하기 위한 대상으로 임의의 배열을 생성합니다. 그리고 생성된 배열 값들을 확인하기 위해 콘솔화면에 두줄로 출력합니다.


Random rnd = new Random();
int[] arr = new int[20];

for(int i = 0; i < arr.Length; i++)
{
    arr[i] = rnd.Next(100);
    Console.Write("{0,3}{1}", arr[i], (i%10 == 9) ? "\n" : "");
}

위 코드를 실행하면 다음과 같이 두줄로 정렬된 실행 시점에서의 배열값들을 확인할 수 있습니다.(배열값은 랜덤이므로 실행할 때마다 매번 바뀝니다.)


 67 46 87 12 10 51 74 14 52 81
 19 32 83 45 20 23 71 37 16 76

최대값(Maximum Value) 구하기

 

배열의 최대값을 구하기 위해서는 반복문을 사용하여 각 요소별로 비교해야 합니다. 배열의 첫 요소값을  max값으로 가정하고 "배열값 > max" 인지를 비교하여 참이면 max값을 배열값으로 갱신합니다.


int max = arr[0];
for(int i = 1; i < arr.Length; i++)
{
    if (arr[i] > max)
    {
        max = arr[i];
    }
}

최소값(Minimum Value) 구하기

 

배열의 최소값은 최대값 구하는 방법과 거의 유사합니다. 배열의 첫 요소값을 min값으로 가정하고 "배열값 < min" 이 참이면 min값을 배열값으로 갱신합니다.


int min = arr[0];
for (int i = 1; i < arr.Length; i++)
{
    if (arr[i] < min)
    {
        min = arr[i];
    }
}

전체 코드

 

위 내용을 포함한 전체 코드는 아래와 같습니다.


using System;
using System.Data;

namespace ArrayMinMax_exam
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random();
            int[] arr = new int[20];

            for(int i = 0; i < arr.Length; i++)
            {
                arr[i] = rnd.Next(100);
                Console.Write("{0,3}{1}", arr[i], (i%10 == 9) ? "\n" : "");
            }

            int max = arr[0];
            for(int i = 1; i < arr.Length; i++)
            {
                if (arr[i] > max)
                {
                    max = arr[i];
                }
            }
            Console.WriteLine("최대값 : {0}", max);

            int min = arr[0];
            for (int i = 1; i < arr.Length; i++)
            {
                if (arr[i] < min)
                {
                    min = arr[i];
                }
            }
            Console.WriteLine("최소값 : {0}", min);

        }
    }
}

결과

 67 46 87 12 10 51 74 14 52 81
 19 32 83 45 20 23 71 37 16 76
최대값 : 87
최소값 : 10

[Review]
"초보자를 위한 C# 200제(2판)" / 저자  강병익

댓글