[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을 더해주면 점수를 몇번 내렸는지 알 수 있다.
나는 입력받은 값을 배열에 담아서 거꾸로 했는데 이렇게 할 필요가 없을 것 같다.