플랫폼 | 번호 | 제목 | 유형 | 난이도 | 언어 |
---|---|---|---|---|---|
백준 | 2847 | 게임을 만든 동준이 | 그리디 | 실버4 | Swift, Python |
결국 레벨별로 점수가 1씩 커지게 하면 된다. 다만 그러기 위해선 마지막 레벨의 점수가 가장 커야 하기 때문에 마지막 레벨 바로 앞의 점수부터 첫 번째 레벨까지 순차적으로 점수를 조정하면 된다.
위와 같은 -1 동작의 횟수를 세어주면 문제를 해결할 수 있다.
let N = Int(readLine()!)!
var score: [Int] = []
for _ in 0..<N {
score.append(Int(readLine()!)!)
}
var count = 0
for i in stride(from: N-2, through: 0, by: -1) {
while score[i] >= score[i+1] {
score[i] -= 1
count += 1
}
}
print(count)
N = int(input())
score = []
for _ in range(N):
score.append(int(input()))
count = 0
for i in range(N-2, -1, -1):
while score[i] >= score[i+1]:
score[i] -= 1
count += 1
print(count)