MaxScore
Published at 2021-08-26
class Solution:
def maxScore(self, cardPoints: List[int], k: int) -> int:
# 0에서 len-k번째 합을 총합에서 빼고 오른쪽으로 한 칸씩 이동해서 계속 함
# 빼는 값이 가장 적은게 총합이 가장 클것임
totalSum = sum(cardPoints)
length = len(cardPoints)
startIdx = 0
endIdx = (length) - k
initSum = sum(cardPoints[startIdx:endIdx])
subArrList = [initSum]
while endIdx < length :
initSum = initSum + cardPoints[endIdx] - cardPoints[startIdx]
subArrList.append(initSum)
startIdx += 1
endIdx += 1
return totalSum - min(subArrList)