문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
제한사항
0 ≤ numbers의 원소 ≤ 1,000
1 ≤ numbers의 길이 ≤ 100
정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.
오늘은 풀이를 보지 않고 많이 고민하며 문제를 풀어봤으나 몇가지 생각나지 않는 부분이 있었다.
먼저 for 문을 사용하여 구해보려고 했다.
내가 쓴 답
import Foundation
func solution(_ numbers:[Int]) -> Double {
let sum = 0
for 0 ... numbers in {
(sum += numbers) / numbers
}
return sum
}
for 문 공식부터 틀린 것 같다. 나는 0부터 numbers 의 값을 합치고 numbers로 나누자는 방향이었으나, 이것은 잘못된 형식이었다.
답
import Foundation
func solution(_ numbers:[Int]) -> Double {
var sum = 0
for number in numbers {
sum += number
}
let average = Double(sum) / Double(numbers.count)
return average
}
for문 내 number 라는 새로운 저장공간에 numbers 값을 넣어두고
sum = sum + number , 즉 sum += number 를 통해 numbers의 총합을 저장한다.
그 이후 소수점을 포함한 평균값을 구하기 위해 Double 형태로 변형해준 뒤 모든 합인 sum과 numbers의 포함된 값의 수를 구하는 count 를 사용하여 해당 숫자로 모든 합인 sum을 나눠주면 평균 값을 구할 수 있다.
For 문의 기본 문법과 문장으로 이뤄진 문제를 swift 언어로 바꾸는 연습을 꾸준히 하자!
'◽️ Programming > ◽️ Algorithm' 카테고리의 다른 글
자릿수 더하기 (0) | 2024.03.02 |
---|---|
짝수와 홀수 , 평균 구하기 (0) | 2024.03.02 |
두수의 나누기 , 각도기 (0) | 2024.03.02 |
숫자 비교하기 (0) | 2024.03.02 |
몫 구하기 , 출생 년도 구하기 (0) | 2024.03.02 |