[LeetCode] 976. Largest Perimeter Triangle

Chobby·2025년 5월 30일
1

LeetCode

목록 보기
438/442

😎풀이

  1. nums 정렬
  2. 삼각형이 될 수 있는 조건 확인 (가장 긴 변이 남은 두 변의 합보다 항상 짧아야함)
  3. 조건에 부합하다면 둘레 비교
  4. 최대 둘렛값 반환
function largestPerimeter(nums: number[]): number {
    const sortedNums = nums.toSorted((a, b) => b - a)
    let maxPerimeter = 0
    for(let i = 0; i < sortedNums.length - 2; i++) {
        const p1 = sortedNums[i]
        const p2 = sortedNums[i + 1]
        const p3 = sortedNums[i + 2]
        if(p2 + p3 <= p1) continue
        maxPerimeter = Math.max(maxPerimeter, p1 + p2 + p3)
    }
    return maxPerimeter
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글