C# - 리스트 최대값, 최소값 찾기

리스트의 최대값, 최소값을 찾는 방법을 소개합니다.

1. Max(), Min()을 이용한 방법

List.Max()는 리스트의 최대 값을 리턴합니다.

List.Min()은 리스트의 최소 값을 리턴합니다.

아래와 같이 리스트의 최대 값, 최소 값을 찾을 수 있습니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            List<int> list = new List<int>() {11, 32, 12, 66, 2};

            int max = list.Max();
            int min = list.Min();
            Console.WriteLine("max: " + max);
            Console.WriteLine("min: " + min);
        }
    }
}

Output:

max: 66
min: 2

1.1 min, max의 Index 찾기

리스트의 min, max 값의 Index를 찾고 싶을 때, List.IndexOf()를 이용하여 Index를 찾을 수 있습니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            List<int> list = new List<int>() {11, 32, 12, 66, 2};

            int max = list.Max();
            int maxIndex = list.IndexOf(max);

            int min = list.Min();
            int minIndex = list.IndexOf(min);

            Console.WriteLine("max: " + max + ", index: " + maxIndex);
            Console.WriteLine("min: " + min + ", index: " + minIndex);
        }
    }
}

Output:

max: 66, index: 3
min: 2, index: 4

2. for문을 이용한 방법

반복문을 이용하여 직접 리스트의 최대 값과 최소 값을 찾을 수 있습니다.

리스트를 순회하기 전에 아래와 같이 먼저 min, max를 최대, 최소 값으로 설정해두고, 리스트를 순회하면서 더 크거나 작은 값이 있으면 업데이트합니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            List<int> list = new List<int>() {11, 32, 12, 66, 2};

            int max = int.MinValue;
            int min = int.MaxValue;
            foreach (var n in list) {
                if (n > max) {
                    max = n;
                }
                if (n < min) {
                    min = n;
                }
            }

            Console.WriteLine("max: " + max);
            Console.WriteLine("min: " + min);
        }
    }
}

Output:

max: 66
min: 2
Loading script...
codechachaCopyright ©2019 codechacha