삼각형의 완성조건 (2)

Haizel·2023년 4월 11일
0

🧬 알고리즘 풀이

목록 보기
7/53
post-thumbnail

문제 설명

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

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

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

입출력 예

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

내 풀이


function solution(sides) {
let min;
    sides[0] > sides[1] ? min = sides[1] : min = sides[0];
    return 2*min - 1;
 }

코드 풀이

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

  • max = 주어진 두변 중 긴변
  • min = 주어진 두 변 중 짧은 변

Case1) 주어준 두변 중 하나가 가장 긴 변일 경우

  • max < min + 다른 한 변 → **max - min < 다른 한 변

Case2) 주어진 두변 외에 다른 긴변이 있는 경우

  • **다른 한 변 < max + min

두 케이스를 조합하면

  • max - min < 다른 한 변 < max + min 이므로

다른 한변이 나올 수 있는 가짓수는,

→ (max + min) - (max - min) - 1 = 2min - 1 이다.



More Short 풀이


function solution(sides) {
    return Math.min(...sides)*2-1
}

💡 배워야 할 점

  • 기본 내장 함수인 Math.min(...sides)을 활용해 잘 풀었다.
profile
한입 크기로 베어먹는 개발지식 🍰

0개의 댓글