[CodeKata] 2.5 getMaxArea

hyeonze·2021년 12월 24일
0

문제

인자인 height는 숫자로 이루어진 배열입니다. 그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다.

아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다.

저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해주세요.

가정

배열의 길이는 2이상입니다.

솔루션

function getMaxArea(height) {
  let maxArea = 0;
  let min;

  for (let i = 0; i < height.length; i++) {
    for (let j = i + 1; j < height.length; j++) {
      min = height[i] > height[j] ? height[j] : height[i];
      if ((j - i) * min > maxArea) {
        maxArea = (j - i) * min;
      } 
    }
  }
  return (maxArea);
}
profile
Advanced thinking should be put into advanced code.

0개의 댓글