티스토리 뷰
2847번: 게임을 만든 동준이
학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어
www.acmicpc.net
1. 문제 내용
2. 접근 방식
- 현재 레벨 점수가 다음 레벨의 점수와 같거나 클 경우만 고려한다.
점수를 늘릴 수는 없기 때문이다. 따라서 현재 레벨의 점수가 그 다음 레벨의 점수와 같거나 크다면, 현재 레벨의 점수를 (다음 레벨 점수 - 1)로 바꾸면 된다. 예를 들어 현재 레벨의 점수가 7이고, 다음 레벨 점수가 5라면 현재 레벨의 점수는 5 -1 = 4가 되어야 한다. 이때 점수는 총 7 - 4 = 3번 감소되었다.
3. 정답 코드
n = int(input())
data = [int(input()) for _ in range(n)]
count = 0
for i in range(n-2, -1, -1):
l = i + 1
if data[i] >= data[l]:
count += data[i] - (data[l] - 1)
data[i] = data[l] - 1
print(count)
728x90
'코딩 테스트 > 백준' 카테고리의 다른 글
[백준] 1049번 기타줄 파이썬 정답 코드 (0) | 2023.06.04 |
---|---|
[백준] 1969번 DNA 파이썬 정답 코드 (0) | 2023.06.04 |
[백준] 1026번 보물 파이썬 정답 코드 (0) | 2023.06.03 |
[백준] 4693번 섬의 개수 파이썬 정답 코드 (0) | 2023.06.02 |
[백준] 10026번 적록색약 파이썬 정답 코드 (0) | 2023.05.24 |