WeCode Kata Day 19

luneah·2021년 12월 23일
0

WeCode Kata

목록 보기
19/20
post-thumbnail

문제

숫자로 이루어진 리스트 nums를 인자로 주면, 그 안에서 어떤 연속적인 요소를 더했을 때 가장 큰 값을 찾아 return 하라.

Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6

설명: [4,-1,2,1] 를 더하면 6이 가장 크기 때문

Thinking Algorithm

  1. 반복문으로 nums 순환
  2. nums[i]와 nums[i]+nums[i-1]의 값을 비교해 더 큰 값을 nums[i]에 할당
  3. 나온 nums[i]의 값들 중 가장 큰 값 리턴

Code

const maxSubArray = nums => {
  for(let i=1; i<nums.length; i++) {
    nums[i] = Math.max(nums[i], nums[i]+nums[i-1]);
  }
  return Math.max(...nums);
};
profile
하늘이의 개발 일기

0개의 댓글