getMaxArea

YS·2022년 7월 15일
0

CodeKata

목록 보기
2/2

접근 방법


결국 두 개의 높이 중에 최소 값에 맞춰서 높이를 정하고 그거에 맞게 가로를 곱해주어 그 결과 값을 배열에 넣어 그 중에 최대 값을 뽑을 계획이다.

풀이 방법


let value=[];
  for(let i =0; i<height.length; i++){
    for(let j=height.length-1; j>i; j--){
      value.push(Math.min(height[i],height[j])*(j-i))
      }
    } 

이중 for문을 사용해주어 높이 두개를 정해주고 이를 Math.min을 사용하여 두개의 높이중 최소 값을 구한 뒤 가로 값과 곱해준다. 그리고 그 결과값을 빈 배열에 push를 사용하여 넣으면 value 라는 배열에는 결과 값이 모두 저장된 배열이 된다

  let result = value.sort((a,b) => b-a).shift(); 
  return result

이렇게 결과 값이 저장된 배열을 sort 메서드사용해 내림차순으로 바꿔주게 되면 결과값중 가장 큰 값이 배열 맨 앞에 오게 되는데, 이 때 shift() 메서드를 사용하여 맨 앞 값을 빼주면 정답이 된다 !

profile
"나의 개발 노트"

0개의 댓글