[Swift] 백준 2847번 게임을 만든 동준이

var n = Int(readLine()!)!
var temp: [Int] = []
var result = 0

for _ in 0..<n {
    temp.append(Int(readLine()!)!)
}

temp.reverse()

for i in 0..<n - 1 {
    if temp[i] <= temp[i + 1] {
        result += (temp[i + 1] - temp[i]) + 1
        temp[i + 1] = temp[i] - 1
    }
}

print(result)



최소한으로 레벨 점수를 낮춰야 하기 때문에, 다음 레벨 점수보다 1작게 값을 구하면 된다. 즉 앞의 레벨 점수에서 다음 레벨 점수를 빼고 1을 더해주면 점수를 몇번 내렸는지 알 수 있다. 나는 입력받은 값을 배열에 담아서 거꾸로 했는데 이렇게 할 필요가 없을 것 같다.