FireDrago
Lv0 - 삼각형의 완성 (2) (자바) 본문
문제 설명
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다.
나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요.
입출력 예
| sides | result |
| [3,6] | 5 |
| [11,17] | 13 |
생각정리

1. 첨부한 이미지를 보면 삼각형이 성립되는 경우는 나머지 한변이 1 ~ 6 인 경우임을 알 수 있다.
(문제의 조건에서 나머지 변은 자연수임을 밝히고 있다.)
2. 최소값은 주어진 두 변의 차 보다 1 크고 , 최대값은 두 변의 합이다.
따라서 두변의 합 - 두변의 차 -1 만 해주면 나머지 한변의 경우의 수는 쉽게 구할 수 있게된다.
class Solution {
public int solution(int[] sides) {
int plusValue = Math.abs(sides[0]-sides[1]); // 대소모르니 절대값 처리
int minusValue = sides[0]+sides[1];
return minusValue - plusValue -1;
// 두 변의 차+1 부터 시작하므로 -1 빼줌
}
}
다소 쉬운 문제라 정리를 하지 않으려 했는데 생각과정이 꽤 길었기 때문에 정리하기로 했다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| Lv0 - 직사각형 넓이 구하기 (0) | 2023.06.18 |
|---|---|
| Lv0 - OX 퀴즈 (0) | 2023.06.17 |
| Lv0 - 소인수분해 (0) | 2023.06.13 |
| Lv0 - 중복문자 제거 (자바) (0) | 2023.06.12 |
| Lv0 - 공던지기 (자바) (0) | 2023.06.08 |
