κ²Œμž„μ„ λ§Œλ“  동쀀이

2022. 10. 31. 14:33ㆍAlgorithm

κ²Œμž„μ„ λ§Œλ“  λ™μ€€μ΄

 

 

 λ¬Έμ œ μ„€λͺ…

 

https://www.acmicpc.net/problem/2847

 

2847번: κ²Œμž„μ„ λ§Œλ“  동쀀이

ν•™κ΅μ—μ„œ κ·Έλž˜ν”½μŠ€ μˆ˜μ—…μ„ 듀은 λ™μ€€μ΄λŠ” μˆ˜μ—…μ‹œκ°„μ— 듀은 λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ 슀마트폰 κ²Œμž„μ„ λ§Œλ“€μ—ˆλ‹€. κ²Œμž„μ—λŠ” 총 N개의 레벨이 있고, 각 λ ˆλ²¨μ„ 클리어할 λ•Œ λ§ˆλ‹€ μ μˆ˜κ°€ 주어진닀. ν”Œλ ˆμ΄μ–΄

www.acmicpc.net

 

 λ‚˜μ˜ 풀이

 

μ²˜μŒμ—λŠ” μ•žμ—μ„œλΆ€ν„° νƒμƒ‰ν• κΉŒ ν–ˆμ—ˆλŠ”λ° κ·Έλ ‡κ²Œ 되면 5 5 5의 경우 μ²«λ²ˆμ§ΈλŠ” 3이 λ˜μ–΄μ•Όν•˜λŠ”λ° 4κ°€ 되기 λ•Œλ¬Έμ— λ°”λ‘œ λ¬Έμ œκ°€ 생겼닀.

κ·Έλž˜μ„œ 맨 λμ—μ„œλΆ€ν„° 1μ”© μ°¨μ΄λ‚˜λŠ” 것이 κ°€μž₯ κ· ν˜•μžˆκ²Œ μ‘°κΈˆμ”© μ€„μ΄λŠ” 것이라고 νŒλ‹¨ν•΄μ„œ ν’€μ—ˆλ‹€.

 

import Foundation

let n = Int(readLine()!)!
var arr: [Int] = []
for _ in 0..<n {
    arr.append(Int(readLine()!)!)
}
var cnt = 0
for i in stride(from: n-1, to: 0, by: -1) {
    while arr[i] <= arr[i-1] {
        arr[i-1] -= 1
        cnt += 1
    }
}
print(cnt)