Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 람다 식으로 배열의 최댓값 찾기: Max() 메서드 완벽 가이드

C#에서는 LINQ의 Max() 메서드와 람다 식을 조합하면 배열에서 가장 큰 요소를 아주 간단하게 찾을 수 있습니다. 이 글에서는 기본적인 사용법부터 절댓값을 기준으로 최댓값을 구하는 방법까지 예제 코드와 함께 단계별로 살펴보겠습니다.

1. 배열 선언하기

먼저 최댓값을 구할 정수형 배열을 선언합니다.

int[] arr = { 10, 90, 20, 19, 99, 57 };

2. Max() 메서드로 최댓값 구하기

배열에서 가장 큰 요소를 얻으려면 System.Linq 네임스페이스에 포함된 Max() 메서드를 사용합니다. 람다 식을 인자로 함께 전달하면 각 요소를 원하는 방식으로 변환한 뒤, 그 결과를 기준으로 최댓값을 계산할 수 있습니다.

arr.Max(element => Math.Abs(element));

위 코드는 각 요소에 Math.Abs()를 적용해 절댓값을 기준으로 최댓값을 구하는 예입니다. 모든 요소가 양수라면 일반적인 최댓값과 동일한 결과를 반환합니다.

3. 전체 예제 코드

using System;
using System.Linq;

class Demo {
    static void Main() {
        int[] arr = { 10, 90, 20, 19, 99, 57 };
        Console.WriteLine(arr.Max(element => Math.Abs(element)));
    }
}

실행 결과

99

코드 설명

  • using System.Linq; — Max()와 같은 LINQ 확장 메서드를 사용하려면 반드시 선언해야 합니다.
  • arr.Max(element => Math.Abs(element)) — 람다 식이 각 배열 요소를 절댓값으로 변환하고, 그중 가장 큰 값인 99를 반환합니다.
  • 주의 사항 — 배열이 비어 있으면 InvalidOperationException이 발생합니다. 빈 배열을 다뤄야 하는 경우라면 arr.Length 검사 또는 DefaultIfEmpty() 메서드를 활용하는 것이 안전합니다.

이처럼 람다 식과 Max() 메서드를 활용하면 복잡한 반복문 없이도 한 줄의 코드로 배열의 최댓값을 손쉽게 구할 수 있습니다. Min(), Average(), Sum() 등 다른 LINQ 집계 메서드에도 동일한 방식을 적용할 수 있으니 함께 익혀두면 유용합니다.