😎풀이

  1. brute force 형식으로 모든 세 점의 면적을 비교한다. (가우스 삼각형 공식 사용)
  2. 그 중 최대 넓이의 삼각형을 찾는다.
  3. 최대 넓이를 반환한다.
function largestTriangleArea(points: number[][]): number {
    const n = points.length
    let maxArea = 0
    for(let i = 0; i < n; i++) {
        for(let j = i + 1; j < n; j++) {
            for(let k = j + 1; k < n; k++) {
                const [x1, y1] = points[i]
                const [x2, y2] = points[j]
                const [x3, y3] = points[k]
                const len1 = x1 * (y2 - y3)
                const len2 = x2 * (y3 - y1)
                const len3 = x3 * (y1 - y2)
                const curArea = 0.5 * Math.abs(len1 + len2 + len3)
                maxArea = Math.max(maxArea, curArea)
            }
        }
    }
    return maxArea
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글