

TECH.KAKAO.GG
프로그래머스 삼각형의 완성조건 (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)
→ 불필요한 반복문 없이 정답 바로 계산 가능!
키워드
프로그래머스 삼각형의 완성조건삼각형의 완성조건삼각형 조건 공식수학 기반 알고리즘 최적화조건 분기 해석