[프로그래머스 Lv0.] 삼각형의 완성조건 (2) (JAVA)

gayoung·2023년 2월 11일
0

알고리즘

목록 보기
35/50

1. 문제

문제 설명

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

  • 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.

삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요.

제한사항

  • sides의 원소는 자연수입니다.
  • sides의 길이는 2입니다.
  • 1 ≤ sides의 원소 ≤ 1,000

입출력 예

sidesresult
[1, 2]1
[3, 6]5
[11, 7]13

2. 풀이 과정

내가 생각한 진행 과정

  • 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 함
    • sides에 나온 값이 최대값인 경우: sides의 최소값보다 크고, sides의 최대값보다 작음
    • sides의 값이 두 변인 경우: 가장 긴 변의 길이를 구해야하므로 max값+min값-1까지 가능

최종 코드

import java.util.Arrays;

public int solution(int[] sides) {

        Arrays.sort(sides);
        int my_min = sides[0];
        int my_max = sides[1];

        int answer = 0;

        for (int i=my_max+1; i<my_max+my_min; i++) {
            answer ++;
        }

        for (int i=my_max-my_min+1; i<=my_max; i++) {
            answer ++;
        }

        return answer;
    }

3. 알게된 것

  • sort 방법

0개의 댓글

관련 채용 정보