DHistory

[Baekjoon] Greedy - 2847 게임을 만든 동준이 본문

Computer Science/Algorithm

[Baekjoon] Greedy - 2847 게임을 만든 동준이

ddu0422 2023. 8. 16. 12:05

문제

 

2847번: 게임을 만든 동준이

학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어

www.acmicpc.net

 

풀이

"""
총 레벨: N
각 레벨을 클리어할 때마다 점수가 주어짐

점수는 항상 양수

플레이어 점수: 각 레벨을 클리어하면서 얻은 점수의 합 (Online raking)
레벨을 난이도 순으로 배치
- 특정 레벨의 점수를 감소하여 각 레벨을 클리어할 때 주는 점수가 증가하게 만들려고 함.
- 점수를 내리는 것을 최소한으로 하는 방법?
"""
n = int(input())
scores = []
for _ in range(n):
    scores.append(int(input()))


def solution(scores):
    answer = 0
    scores = scores[::-1]

    for index, value in enumerate(scores):
        if index + 1 == len(scores):
            break
        
        if value > scores[index + 1]:
            continue
        
        answer += abs(value - scores[index + 1]) + 1
        scores[index + 1] = value - 1
    
    return answer


print(solution(scores))

 

채점 결과

'Computer Science > Algorithm' 카테고리의 다른 글

[Baekjoon] Greedy - 1758 알바생 경호  (0) 2023.08.21
[Baekjoon] Greedy - 1969 DNA  (0) 2023.08.21
[Baekjoon] Greedy - 1049 기타줄  (0) 2023.08.16
[Baekjoon] Greedy - 10610 30  (0) 2023.08.16
[Baekjoon] Greedy - 2217 로프  (0) 2023.08.16