Header Banner
Kakao Logo

TECH.KAKAO.GG

기술 자료/Algorithm/프로그래머스 삼각형의 완성조건 (2)

프로그래머스 삼각형의 완성조건 (2)

Algorithm
👁️ 104일 전

📘 문제 해설

✅ 문제 요약

두 변의 길이가 주어진 상태에서, 나머지 한 변이 될 수 있는 정수의 개수를 구하는 문제입니다.

  • 입력: 정수 배열 sides (길이 2)

  • 출력: 나머지 한 변이 될 수 있는 정수의 개수

✅ 수학적 배경: 삼각형의 조건

삼각형을 만들기 위한 조건 이해가 필요

가장 긴 변의 길이 < 다른 두 변의 길이의 합

function solution(sides) {
    const [a, b] = sides;
    const min = Math.min(a, b);
    const max = Math.max(a, b);

    return (a + b - 1) - (max - min);
}

🔍 설명

  • 나머지 변이 가장 긴 변인 경우

    • 조건: a + b > x 이므로, x < a + b

    • 또 x > max 이므로, x ∈ (max, a + b)

    • 가능한 수의 개수는: a + b - 1 - max

  • max가 가장 긴 변인 경우

    • 조건: x + min > max → x > max - min

    • 또 x ≤ max 이므로: x ∈ (max - min, max]

    • 가능한 수의 개수는: max - (max - min) = min

  • 총 개수: (a + b - 1) - (max - min)
    → 불필요한 반복문 없이 정답 바로 계산 가능!

키워드

프로그래머스 삼각형의 완성조건삼각형의 완성조건삼각형 조건 공식수학 기반 알고리즘 최적화조건 분기 해석
프로그래머스 삼각형의 완성조건 (2) - 기술 자료 - Home.kakao.gg