선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요.
class Solution {
public int solution(int[] sides) {
int answer = 0;
return answer;
}
}
입출력 예 #1
입출력 예 #2
입출력 예 #3
import java.util.Arrays;
class Solution {
public int solution(int[] sides) {
int answer = 0;
Arrays.sort(sides); // 오름차순 정렬
int min = sides[0]; // 최솟값
int max = sides[1]; // 최댓값
// sides 배열 [0], [1] 中 최댓값이 있을 경우
for (int i = max - min + 1; i <= max; i++) {
answer++;
}
// 나머지 변이 최댓값일 경우
for (int i = max + 1; i < max + min; i++) {
answer++;
}
return answer;
}
}
sides 배열 [0], [1] 中 최댓값이 있을 경우 (예시)
나머지 변이 최댓값일 경우 (예시)
class Solution {
public int solution(int[] sides) {
int answer = 0;
// 값이 최대가 아닐 경우
int max = Math.max(sides[0], sides[1]);
int min = Math.min(sides[0], sides[1]);
for (int i = 1; i < sides[0] + sides[1]; i++) {
// i가 가장 큰 변일 때
if(i > max){
if (min + max > i){
answer++;
}
} else {
// i가 가장 크지 않을 때
if (min + i > max){
answer++;
}
}
}
// 값이 최대일 경우
return answer;
}
}