더북(TheBook)

31.6 최솟값 구하기: MIN 알고리즘

최솟값(MIN) 알고리즘은 주어진 범위 내에서 가장 작은 값을 구합니다. 즉, 관련 데이터 중에서 가장 작은 값을 구하는 데 사용합니다.

 

최솟값 알고리즘 사용하기

최솟값 알고리즘을 적용하여 주어진 범위의 데이터 중 가장 작은 값을 구하는 예제를 만들어 봅시다. 다음 내용을 입력한 후 실행해 보세요.

주어진 데이터 중에서 가장 작은 짝수 값: MinAlgorithm.cs

using System;
using System.Linq;
using static System.Console;

class MinAlgorithm
{
    static void Main()
    {
        //① 초기화
        var min = Int32.MaxValue; //정수 형식의 데이터 중 가장 큰 값으로 초기화

        //② 입력: 이진수로 표현 + 숫자 구분자 사용({ 2, 5, 3, 7, 1 })
        int[] numbers = { 0b0010, 0B_0101, 0b0011, 0B_0111, 0b0000_0001 };

        //③ 처리: MIN
        for (int i = 0; i < numbers.Length; i++)
        {
            if (numbers[i] < min && numbers[i] % 2 == 0)
            {
                min = numbers[i]; //MIN: 더 작은 값으로 할당
            }
        }

        //④ 출력
        WriteLine($"짝수 최솟값(식) : {numbers.Where(n => n % 2 == 0).Min()}");
        WriteLine($"짝수 최솟값(문) : {min}");
    }
}

실행 결과

짝수 최솟값(식) : 2
짝수 최솟값(문) : 2

최솟값 알고리즘은 처럼 최솟값이 담길 변수 값을 정수 형식이 가질 수 있는 가장 큰 값(Int32.MaxValue)으로 초기화한 후 사용해야 한다는 점에 주의합니다.

LINQ를 사용하여 최솟값을 구할 때는 Min() 확장 메서드를 호출합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.