Code Kata_getMaxArea

dabin *.◟(ˊᗨˋ)◞.*·2021년 9월 10일
0

CodeKata

목록 보기
7/9
post-thumbnail

문제

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

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

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

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


풀이

function getMaxArea(height) {
  let arr = [];
  for(let i=0; i<height.length-1; i++) {
    for(let j=i+1; j<height.length; j++) {
      const area = (j - i) * ((height[i] < height[j]) ? height[i] : height[j]);
      arr.push(area);
      console.log(area)
    }
  } 
  return Math.max(...arr)
}
  1. 아래 같은 순서로 for문을 돌며 넓이를 계산해서 빈 배열에 push한다.
    0-1
    0-2
    0-3
    .
    .
    .
    0-arr.length-1
    1-2
    .
    .
    .
  2. push가 끝난 배열의 가장 큰 요소 추출
profile
모르는것투성이

0개의 댓글