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

C# 배열에서 주어진 값보다 큰 요소를 찾는 방법

C#에서 배열이나 목록에 담긴 값들 중 특정 기준값보다 큰 요소를 찾아야 하는 경우가 자주 있습니다. 예를 들어 다음과 같은 정수 배열에서 80보다 큰 숫자만 골라내고 싶다고 가정해 보겠습니다.

int[] arr = new int[] {55, 100, 87, 45};

기본 원리

핵심 아이디어는 간단합니다. 배열의 처음부터 끝까지 반복문을 돌면서 각 요소가 기준값(res)보다 큰지 비교하고, 조건을 만족하는 요소만 출력하면 됩니다.

먼저 기준값을 변수로 선언합니다. 여기서는 res = 80으로 설정했습니다.

int res = 80;

그다음 for 반복문으로 배열 길이(arr.Length)만큼 순회하며 조건을 검사합니다.

for (int i = 0; i < arr.Length; i++) {
    if (arr[i] > res) {
        Console.WriteLine(arr[i]);
    }
}

배열의 각 요소가 res(80)보다 클 때만 Console.WriteLine()을 통해 화면에 출력됩니다. 이렇게 하면 55와 45는 조건에 맞지 않아 제외되고, 100과 87만 출력됩니다.

전체 예제 코드

지금까지의 내용을 하나로 합친 완전한 C# 프로그램은 다음과 같습니다.

using System;

namespace Demo {
    public class Program {
        public static void Main(string[] args) {
            int[] arr = new int[] {
                55,
                100,
                87,
                45
            };
            // 기준이 되는 정수
            int res = 80;
            Console.WriteLine("기준 정수: {0}", res);
            Console.WriteLine("{0}보다 큰 숫자:", res);
            for (int i = 0; i < arr.Length; i++) {
                if (arr[i] > res) {
                    Console.WriteLine(arr[i]);
                }
            }
        }
    }
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

기준 정수: 80
80보다 큰 숫자:
100
87

참고: LINQ를 활용한 더 간결한 방법

C#에서는 LINQ의 Where() 메서드를 사용하면 같은 작업을 훨씬 간결하게 처리할 수도 있습니다.

using System;
using System.Linq;

var result = arr.Where(n => n > 80);
foreach (var n in result) {
    Console.WriteLine(n);
}

반복문 방식은 로직을 명확히 이해하기 좋고, LINQ 방식은 코드가 짧고 가독성이 높다는 장점이 있습니다. 상황에 맞게 선택해서 사용하시면 됩니다.