반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
x = 1부터 x = N까지 레몬나무 N그루가 있으며, 각 나무마다의 레몬 개수가 주어집니다. 성우는 딱 1개의 레몬나무에서만 채집할 수 있으며, 채집 후에는 도착지(x = N)까지 1씩 이동할 때마다 1개씩 잃게 됩니다.
이때, 최대로 채집할 수 있는 레몬의 개수를 구합니다.
3. 코드
import sys
input = sys.stdin.readline
# 입력
N = int(input())
x = list(map(int, input().split()))
# xi - (N-ai) 가 최대인 걸 고른다
res = 0
for i, lemon in enumerate(x, 1):
tmp = lemon - (N+1-i)
res = max(res, tmp)
print(res)
각 지점에서 레몬을 채집했을 때의 기대치를 구한 뒤, 가장 큰 값을 출력하면 됩니다.
i지점에서 xi개를 채집할 경우, 목적지까지의 남은 거리(N+1-i)만큼 레몬을 잃게 됩니다. 따라서 기댓값은 xi - (N+1-i) 입니다. 각 지점에서의 기댓값을 구하고 가장 큰 값을 출력합니다.
반응형
'Algorithm' 카테고리의 다른 글
[탐색/BFS] 백준 24444 알고리즘 수업 - 너비 우선 탐색 1 - Python (0) | 2023.06.30 |
---|---|
[구현/수학] 백준 10810 공 넣기 - 파이썬(Python) (0) | 2023.06.07 |
[구현/수학] 백준 28135 Since 1973 - 파이썬(Python) (0) | 2023.06.01 |
[구현/수학] 백준 6840 Who is in the middle? - 파이썬(Python) (0) | 2023.06.01 |
[구현/수학] 백준 27961 고양이는 많을수록 좋다 - 파이썬(Python) (0) | 2023.05.07 |
댓글