Aggregate
- LINQ 에서 제공 되는 메서드
- 시퀀스에 대해 누적하는 연산을 수행하고 최종 결과를 반환
- 곱셈, 합계, 문자열 등 다양한 누적 연산에 사용
문자열 내림차순으로 배치하기
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, (s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.)
“Zbcdefg” => “gfedcbZ”
using System;
using System.Linq;
public class Solution
{
public string solution(string s)
{
IOrderedEnumerable<char> oderBy = s.OrderByDescending(c => c);
return oderBy.Aggregate("", (current, c) => current + c);
}
}
Aggregate의 수행 과정
-
누적기 (‘current’)를 빈 문자열
""
으로 시작 -
시퀀스(
orderBy
)의 각 요소(c
)를 차례로 순회하면서, 람다 표현식을 사용해
현재 누적기current
에 현재 요소c
를 추가합니다. -
모든 요소를 순회하고 나면 최종 문자열을 반환합니다.