MaximizeSumOfArray
Published at 2021-08-11
class Solution:
def largestSumAfterKNegations(self, nums: List[int], k: int) -> int:
# 음수 파트, 양수 파트 나눠서 진행할거임
# 음수파트 : 음수 -> 양수
# 양수파트 : 양수로 다 바꿨으면 다시 정렬해서 젤 작은 숫자만 음수로
nums.sort() # 처음 정렬
i = 0
while k > 0 and i < len(nums):
if nums[i] > 0: # 음수 파트 끝나면 종료
break
nums[i] += nums[i] * -2 # 양수로 변환
k -= 1
i += 1
nums.sort()
i = 0
# 이 루프는 계속 인덱스 0만 바꿀
while k > 0:
nums[i] -= nums[i] * 2 # 음수로 변환
k -= 1
return sum(nums)