다음 코드의 출력 결과는?

과목: C#

문제 번호: 2589

hard
다음 코드의 출력 결과는?
using System.Linq;
int[] numbers = {3, 7, 1, 9, 2};
Array.Sort(numbers);
Console.WriteLine(numbers[0] + " " + numbers.Max());
A. 3 9
B. 1 9
C. 1 7
D. 3 7

정답: B



Sort()와 Linq 메서드를 함께 사용할 때의 동작을 이해해야 합니다.

⦁ 실행 과정 분석:

1단계 - 원본 배열: {3, 7, 1, 9, 2}

2단계 - Array.Sort() 실행:
⦁ 배열이 {1, 2, 3, 7, 9}로 정렬됨
⦁ 원본 배열이 직접 수정됨

3단계 - numbers[0] 접근:
⦁ 정렬된 배열의 첫 번째 요소
⦁ 값: 1 (최소값)

4단계 - numbers.Max() 실행:
⦁ 정렬된 배열에서 최대값 찾기
⦁ 값: 9 (최대값)

⦁ 출력: "1 9"

⦁ 중요 포인트:
⦁ Sort() 후 배열은 영구적으로 변경됨
⦁ Max()는 정렬 여부와 관계없이 최대값 반환
⦁ 정렬 후 첫 요소는 항상 최소값

⦁ 효율성 팁: 최소값만 필요하면 Min() 사용이 Sort()[0]보다 효율적입니다.

💡 학습 팁

이 문제를 포함한 C# 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.