코딩테스트/Leetcode

[Leetcode] 976. Largest Perimeter Triangle [Java]

블로그 주인장 2023. 8. 23.

🎁 문제 링크

https://leetcode.com/problems/largest-perimeter-triangle/description/

 

Largest Perimeter Triangle - LeetCode

Can you solve this real interview question? Largest Perimeter Triangle - Given an integer array nums, return the largest perimeter of a triangle with a non-zero area, formed from three of these lengths. If it is impossible to form any triangle of a non-zer

leetcode.com

🎁 문제 설명

  • Given an integer array nums, return the largest perimeter of a triangle with a non-zero area, formed from three of these lengths. If it is impossible to form any triangle of a non-zero area, return 0.
  • 정수 배열 번호가 주어지면 이 길이 중 3개로 이루어진 0이 아닌 영역을 가진 삼각형의 가장 큰 둘레를 반환합니다. 0이 아닌 영역의 어떤 삼각형도 만들 수 없다면 0을 반환합니다.

🎁 입출력 예시

Input: nums = [2,1,2]
Output: 5
Explanation: You can form a triangle with three side lengths: 1, 2, and 2.

🎁 코드

import java.util.*;

class Solution {
    public int largestPerimeter(int[] nums) {
        int answer= 0;
        Arrays.sort(nums);

        for(int i = nums.length - 1; i >= 2; i --)
        {
            if(nums[i] < nums[i - 1] + nums[i - 2]){
                answer =  nums[i] + nums[i - 1] + nums[i - 2];
                break;
            }
        }
        return answer;
    }
}

🎁 코드 설명

1) 삼각형은 가장 긴 변의 길이가 나머지 두 변의 합보다 작아야한다.

2) Arrays.sort()를 이용하여 배열을 오름차순으로 정렬하여 가장 큰 값부터 비교를 진행한다.

반응형

댓글