길이가 N이고 정수로 이루어진 배열 A와 범위가 0<=P<Q<N인 쌍(P,Q)가 주어지면 A[P] + A[P+1] + ... + A[Q]의 산술 평균을 구할 수 있다.
A에서 가장 작은 평균을 갖는 범위의 시작 위치(P)를 구하라.
N is an integer within the range [2..100,000]
each element of array A is an integer within the range [−10,000..10,000]
두시간동안 진짜 이해 못해서 구글링했다..
참고링크
public func solution(_ A : inout [Int]) -> Int {
var minAvg: Double = 0.0
var minIdx = Int()
var flagVal: Double = 0.0
minAvg = Double(A[0] + A[1]) / 2.0
for i in 2..<A.count {
flagVal = Double(A[i-2]+A[i-1]+A[i]) / 3.0
if(minAvg > flagVal) {
minAvg = flagVal
minIdx = i-2
}
flagVal = Double(A[i-1] + A[i]) / 2.0
if(minAvg > flagVal) {
minAvg = flagVal
minIdx = i-1
}
}
return minIdx
}