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

C# SortedSet에서 최댓값 구하기 – Max 속성 활용법

C# SortedSet에서 최댓값(Max) 구하는 방법

C#의 SortedSet<T>는 요소가 추가되는 즉시 자동으로 정렬 상태를 유지해 주는 컬렉션입니다. 이 컬렉션에서 최댓값을 구하려면 Max 속성을 사용하면 되며, 반대로 최솟값이 필요할 때는 Min 속성으로 간단히 얻을 수 있습니다.

아래 예제들을 통해 실제 사용 방법을 살펴보겠습니다.

예제 1: 문자열 SortedSet에서 최댓값 구하기

다음 예제에서는 두 개의 문자열 SortedSet을 생성한 뒤 Max 속성으로 최댓값을 출력합니다. 두 번째 집합에서는 열거자(Enumerator)를 사용해 요소를 하나씩 순회하는 방법도 함께 확인할 수 있습니다.

using System;
using System.Collections.Generic;
public class Demo {
    public static void Main(){
        SortedSet<string> set1 = new SortedSet<string>();
        set1.Add("AB");
        set1.Add("BC");
        set1.Add("CD");
        set1.Add("EF");
        Console.WriteLine("Elements in SortedSet1...");
        foreach (string res in set1){
            Console.WriteLine(res);
        }
        Console.WriteLine("Maximum element in SortedSet1 = " + set1.Max);
        SortedSet<string> set2 = new SortedSet<string>();
        set2.Add("BC");
        set2.Add("CD");
        set2.Add("DE");
        set2.Add("EF");
        set2.Add("AB");
        set2.Add("HI");
        set2.Add("JK");
        Console.WriteLine("Elements in SortedSet2 (Enumerator for SortedSet)...");
        SortedSet<string>.Enumerator demoEnum = set2.GetEnumerator();
        while (demoEnum.MoveNext()) {
            string res = demoEnum.Current;
            Console.WriteLine(res);
        }
        Console.WriteLine("Maximum element in SortedSet2 = " + set2.Max);
    }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Elements in SortedSet1...
AB
BC
CD
EF
Maximum element in SortedSet1 = EF
Elements in SortedSet2 (Enumerator for SortedSet)...
AB
BC
CD
DE
EF
HI
JK
Maximum element in SortedSet2 = JK

문자열 집합의 경우 기본 비교자(Comparer)에 따라 사전순으로 가장 큰 값이 최댓값으로 반환됩니다. 요소를 추가한 순서와 관계없이 SortedSet은 항상 정렬된 상태를 유지한다는 점을 확인할 수 있습니다.

예제 2: 정수 SortedSet에서 최댓값과 최솟값 구하기

정수형 SortedSet에서도 동일한 방식으로 MaxMin 속성을 사용할 수 있습니다. 아래 예제는 한 번의 코드로 최댓값과 최솟값을 모두 출력합니다.

using System;
using System.Collections.Generic;
public class Demo {
    public static void Main(){
        SortedSet<int> set1 = new SortedSet<int>();
        set1.Add(5);
        set1.Add(50);
        set1.Add(20);
        set1.Add(10);
        set1.Add(70);
        set1.Add(60);
        set1.Add(55);
        set1.Add(95);
        Console.WriteLine("Elements in SortedSet...");
        foreach (int res in set1){
            Console.WriteLine(res);
        }
        Console.WriteLine("Maximum element in SortedSet = " + set1.Max);
        Console.WriteLine("Minimum element in SortedSet = " + set1.Min);
    }
}

실행 결과

Elements in SortedSet...
5
10
20
50
55
60
70
95
Maximum element in SortedSet = 95
Minimum element in SortedSet = 5

핵심 정리

  • Max 속성: SortedSet에 저장된 값 중 가장 큰 값을 반환합니다.
  • Min 속성: SortedSet에 저장된 값 중 가장 작은 값을 반환합니다.
  • SortedSet은 요소 추가 순서와 관계없이 항상 오름차순으로 정렬된 상태를 유지합니다.
  • 중복된 요소는 자동으로 제거되며, 각 값은 고유하게 저장됩니다.