Python/백준 문제풀이
[백준 2828] 사과 담기 게임 파이썬 문제 풀이
코딩하는 친구
2023. 7. 23. 18:48
문제 풀이: 해당 문제는 3가지 경우로 나누어서 생각할 수 있다.
1. 사과가 d(현재 위치) ~ m(바구니 크기) - 1 사이에 떨어지는 경우 -> 움직일 필요가 없으므로 pass
2. 사과가 d보다 왼쪽에 있는 경우 -> 사과가 떨어지는 지점까지 바구니가 왼쪽으로 이동해야 함
3. 나머지 모든 경우 -> 현재 위치를 기준으로 m - 1이 사과가 떨어지는 지점까지 이동해야 함
n, m = map(int, input().split())
a = int(input())
apples = []
d = 1
result = 0
for _ in range(a):
apples.append(int(input()))
for apple in apples:
if apple >= d and apple <= d + (m - 1):
pass
elif d > apple:
result += abs(apple - d)
d = apple
else:
result += apple - (m - 1) - d
d = apple - (m - 1)
print(result)