Bibi's DevLog πŸ€“πŸŽ

[λ°±μ€€ 10539] μˆ˜λΉˆμ΄μ™€ μˆ˜μ—΄ (Swift) λ³Έλ¬Έ

ν”„λ‘œκ·Έλž˜λ°/μ•Œκ³ λ¦¬μ¦˜ 풀이 Swift

[λ°±μ€€ 10539] μˆ˜λΉˆμ΄μ™€ μˆ˜μ—΄ (Swift)

λΉ„λΉ„ bibi 2023. 1. 11. 20:57

[λ°±μ€€ 10539] μˆ˜λΉˆμ΄μ™€ μˆ˜μ—΄

10539번: μˆ˜λΉˆμ΄μ™€ μˆ˜μ—΄

μž…λ ₯으둜 μ£Όμ–΄μ§€λŠ” μˆ˜μ—΄μ΄ μˆ˜μ—΄ Aκ°€ μ•„λ‹Œ, μˆ˜μ—΄ BλΌλŠ” 것 이 ν¬μΈνŠΈμ΄λ‹€.

평균 식을 κ·ΈλŒ€λ‘œ μ“°λ©΄ μ•ˆλ˜κ³ , 평균 식을 λ³€ν˜•ν•΄μ•Ό ν•œλ‹€.

μˆ˜μ—΄ B의 길이가 4이고 첫 μš”μ†Œκ°€ 3이라면, μˆ˜μ—΄ A의 첫 μš”μ†Œλ„ 3이닀. (첫 μš”μ†ŒλŠ” 1둜 λ‚˜λˆ„λ―€λ‘œ 값이 κ°™μŒ)

예λ₯Ό λ“€μ–΄ μˆ˜μ—΄ B의 두 번째 μš”μ†Œκ°€ 2라면, 이 값은 (μˆ˜μ—΄ A의 첫 μš”μ†Œ + μˆ˜μ—΄ A의 두 번째 μš”μ†Œ) / 2 와 κ°™μ•„μ•Ό ν•œλ‹€.

μ΄λ•Œ μˆ˜μ—΄ A의 첫 번째 μš”μ†Œκ°€ 3μ΄λ―€λ‘œ, μˆ˜μ—΄ A의 두 번째 μš”μ†ŒλŠ” 2 * 2 - 3 = 1이 λœλ‹€.

λ”°λΌμ„œ μˆ˜μ—΄ A의 n번째 μš”μ†Œ = (μˆ˜μ—΄ B의 n번째 μš”μ†Œ * n) - μˆ˜μ—΄ A의 n-1 번째 μš”μ†ŒκΉŒμ§€μ˜ 총합 이 λœλ‹€.

풀이

let count = Int(readLine()!)!
let inputArr = readLine()!.split(separator: " ").map { Int($0)! }
var sum = 0
var resultArr: [Int] = []
(1...count).forEach { num in
    let result = inputArr[num - 1] * num - sum
    sum += result
    print(result)
}