프로그래머스 Lv.0 삼각형의 완성조건

선분 세 개로 삼각형을 만들기 위한 조건이 있다.
* 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 한다.
두 변의 길이가 담긴 sides배열이 주어진다.
나머지 한 변이 될 수 있는
정수의 개수를 return하라.
sides의 원소는 자연수이고, 길이는 2이다.
sides | result |
[1,2] | 1 |
[3, 6] | 5 |
[11, 7] | 13 |
** 풀이 방법
1.주어진 선분 중에서 가장 긴 변이 있을 때
주어진 선분 중 긴 길이 - 나머지 길이 + 1
2. 주어진 길이보다 긴 변이 있을 때
주어진 선분들의 합 - 1
int a = Math.abs(sides[0] - sides[1]) + 1;
int b = (sides[0] + sides[1]) - 1;
두가지 조건에서 나머지 변의 범위가 나온다.
a부터 b의 개수를 세기 위해반복문을 돌려서 answer를 1씩 증가시킨다.
for (int i=a; i<=b; i++) {
answer++;
}
<> 전체 코드 </>
class Solution {
public int solution(int[] sides) {
int answer = 0;
int a = Math.abs(sides[0] - sides[1]) + 1;
int b = (sides[0] + sides[1]) - 1;
for (int i=a; i<=b; i++) {
answer++;
}
return answer;
}
}
반응형
'개발로그 > 알고리즘' 카테고리의 다른 글
구간 합 (0) | 2023.07.30 |
---|---|
프로그래머스 Lv.0 옹알이(1) (0) | 2023.07.30 |
프로그래머스 Lv.0 직사각형 넓이 구하기 (0) | 2023.07.30 |
프로그래머스 Lv.0 문자열이 몇 번 등장하는지 세기 (0) | 2023.07.28 |
프로그래머스 Lv.0 정사각형으로 만들기 (0) | 2023.07.28 |
댓글