반응형
문제
https://www.acmicpc.net/problem/2587
2587번: 대표값2
어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 +
www.acmicpc.net
풀이
평균은 입력받은 수들의 합 / 5 입니다.
중앙값은 입력받은 수를 정렬 한 후, 2번 인덱스가 중앙값 입니다.
이것을 출력만 해주면 되는 문제입니다.
소스코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var array: [Int] = [] | |
for _ in 0..<5 { | |
array.append(Int(readLine()!)!) | |
} | |
print(array.reduce(0, +) / 5) | |
print(array.sorted(by: <)[2]) |
후기
고차함수 reduce를 사용해 배열의 합을 구할 수 있습니다.
중앙값을 구하기 위해서는 자연수가 총 5개이므로 배열에 넣어주고 정렬해준 후, 2번 인덱스에 있는 요소를 출력하면 됩니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 2571 수 정렬하기 2 (Swift) (0) | 2023.03.07 |
---|---|
[BOJ] 백준 25305 커트라인 (Swift) (0) | 2023.03.07 |
[BOJ] 백준 2750 수 정렬하기 (Swift) (0) | 2023.03.07 |
[BOJ] 백준 24313 알고리즘 수업 - 점근적 표기 1 (Swift) (0) | 2023.03.06 |
[BOJ] 백준 24267 알고리즘 수업 - 알고리즘의 수행 시간 6 (Swift) (0) | 2023.03.06 |