728x90
🎮
https://www.acmicpc.net/problem/2847
2847번: 게임을 만든 동준이
학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어
www.acmicpc.net
내 풀이
N = int(input())
score = []
ans = 0
for _ in range(N):
score.append(int(input()))
for i in range(N-1, 0, -1):
if score[i-1] >= score[i]:
new_score = score[i] - 1
ans += score[i-1] - new_score
score[i-1] = new_score
print(ans)
score = [5, 5, 5] 라면,
score[2]와 score[1]을 비교하고, score[1]와 score[0]을 비교해야 한다.
따라서, i는 N-1(마지막 인덱스)에서 시작해 1까지 1씩 감소하는 값이 된다.
쉬운 레벨(score[i-1])은 어려운 레벨(score[i])보다 무조건 점수를 적게 받아야 한다.
만약, 쉬운 레벨의 점수가 어려운 레벨의 점수보다 크거나 같다면, 어려운 레벨의 점수 - 1이 되도록 값을 변경한다.
'코딩테스트' 카테고리의 다른 글
[백준][Python] 14502 연구소 (1) | 2024.03.20 |
---|---|
[백준][Python] 2529 부등호 (1) | 2024.03.20 |
[백준][Python] 22352 항체 인식 (0) | 2024.03.18 |
[백준][Python] 2003 수들의 합 2 (1) | 2024.03.17 |
[백준][Python] 13265 색칠하기 (2) | 2024.03.17 |