정리/PowerShell
PowerShell 최댓값 구하기
워로디스
2026. 4. 30. 22:31
1. 컬렉션에서 최댓값 구하기 (PowerShell 표준 방식)
1, 5, 3, 9, 2 | Measure-Object -Maximum
결과:
Maximum : 9
값만 필요할 경우:
(1, 5, 3, 9, 2 | Measure-Object -Maximum).Maximum
이 방식은 PowerShell다운 방식이며, 파이프라인 친화적이고 대량 데이터에도 안정적입니다.
2. 객체의 특정 프로퍼티 기준으로 Max
$items = @(
[PSCustomObject]@{ Name = "A"; Value = 10 }
[PSCustomObject]@{ Name = "B"; Value = 25 }
[PSCustomObject]@{ Name = "C"; Value = 7 }
)
($items | Measure-Object -Property Value -Maximum).Maximum
3. 두 값 중 큰 값 (가장 직관적인 방법)
[Math]::Max(3, 7)
문자열 비교도 가능:
[Math]::Max("apple", "banana") # 사전순 비교
4. 배열에서 가장 큰 값 (.NET 스타일)
[int[]]$arr = 1, 5, 3, 9, 2
$arr | Sort-Object -Descending | Select-Object -First 1
또는:
$arr | Measure-Object -Maximum | Select-Object -ExpandProperty Maximum
5. 사용자 정의 max 함수 만들기
function max {
param([Parameter(ValueFromPipeline)]$InputObject)
begin { $list = @() }
process { $list += $InputObject }
end { ($list | Measure-Object -Maximum).Maximum }
}
사용:
1,5,3,9,2 | max