본문 바로가기
알고리즘 문제

백준 2847

by hyunjing0 2021. 3. 11.
N = int(input())
point = []
for _ in range(N):
    point.append(int(input()))


point.reverse()
tmp = point[0]
count = 0
for i in point[1:]:
    if tmp <= i:
        count += i - tmp + 1
        tmp -= 1
    else:
        tmp = i

print(count)

만약 lv3 경험치가 lv4 경험치보다 같거나 크다면 lv3 경험치를 줄여야 한다.

그런데 문제에서 최소한으로 줄이라고 했으므로 lv4 경험치보다 1만 작게 만들면 된다.

반대로 작다면 굳이 줄일필요 없으므로 pass ( 비교대상인 tmp만 옮겨줌 ) 

'알고리즘 문제' 카테고리의 다른 글

백준 13413  (0) 2021.03.13
백준 20937  (0) 2021.03.11
백준 13305  (0) 2021.03.09
백준 19939  (0) 2021.03.09
백준 1783  (0) 2021.03.07