반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
레벨에 따라 오름차순으로 경험지를 설정해야 합니다.
2022.01.26 - [Algorithm] - [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결
가장 높은 레벨부터 거꾸로 거슬러 올라가면서, 이전 레벨보다 경험지가 많으면 깎습니다.
3. 코드
import sys
input = sys.stdin.readline
# 입력
n = int(input())
level = []
for _ in range(n):
level.append(int(input()))
# 그리디 알고리즘
cnt = 0 # 레벨을 감소시키는 횟수
post = level[-1] + 1 # 차후 레벨의 경험지
for i in level[::-1]:
# 차후 레벨보다 경험지가 높다면 낮춤
if post <= i:
cnt += i - post + 1
post -= 1
# 차후 레벨보다 경험지가 낮다면 넘어감
else:
post = i
print(cnt)
반응형
'Algorithm' 카테고리의 다른 글
[동적계획법/DP] 백준 9184 신나는 함수 실행 - 파이썬(Python) (0) | 2022.06.30 |
---|---|
[탐색/다익스트라] 백준 18352 특정 거리의 도시 찾기 - 파이썬(Python) (0) | 2022.06.29 |
[자료구조/스택] 백준 3986 좋은 단어 - 파이썬(Python) (0) | 2022.06.27 |
[동적계획법/DP] 백준 2294 동전 2 - 파이썬(Python) (0) | 2022.06.26 |
[수학/재귀] 백준 11729 하노이 탑 이동 순서 - 파이썬(Python) (0) | 2022.06.25 |
댓글