반응형
문제 설명
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한사항
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
입출력 예
arrreturn[1,2,3,4] | 2.5 |
[5,5] | 5 |
고차함수 reduce를 사용하여 풀면 되겠다라고 생각해서
총 합을 배열의 카운트로 나눠서 평균을 구하였습니다
나의 풀이
func solution(_ arr:[Int]) -> Double {
return Dobule(arr.reduce(0, +)) / Double(arr.count)
}
다른 사람의 풀이
func solution(_ arr:[Int]) -> Double {
return Double(arr.reduce(0, { $0 + $1 })) / Double(arr.count)
}
대략적으로 거의다 비슷하긴 하지만 for문이나 foreach로 다 더하고 난 다음 배열의 크기를 나눠서 평균을 구할 수 있습니다
그리고 제가 다른사람의 풀이를 고차함수를 넣은 이유는 reduce를 사용할 때 다양한 방법으로 적용할 수 있다라는걸 알게되었습니다
반응형
'Programmers > LV1.' 카테고리의 다른 글
Lv1 | Swift - x만큼 간격이 있는 n개의 숫자 (1) | 2024.06.11 |
---|---|
Lv1 | Swift - 하샤드 수 (0) | 2024.06.10 |
Lv1 | Swift - 정수 제곱근 판별 (0) | 2024.06.05 |
Lv1 | Swift - 정수 내림차순으로 배치하기 (0) | 2024.06.04 |
Lv1 | Swift - 자연수 뒤집어 배열로 만들기 (0) | 2024.06.03 |