❓ 길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면
이 세 막대로 삼각형을 만들 수 있으면
"YES"를 출력하고, 만들 수 없으면 "NO"를 출력한다.
우선, 삼각형이 될 수 있는 조건을 알아보자.
가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작아야 한다.
function solution(a, b, c) {
let answer = "YES", max;
return answer;
}
console.log(solution(13, 33, 17));
우선 이렇게 answer이면 "YES"를 출력하는 변수와
가장 긴 막대를 표시할 수 있는 max를 지정해준다.
function solution(a, b, c) {
let answer = "YES", max;
if (a > b) max = a;
else max = b;
if (c > max) max = c;
return answer;
}
console.log(solution(13, 33, 17));
그리고 가장 큰 수를 찾기위해서
if문을 사용해준다.
먼저, a와b를 비교했을 때
a가 크다면 max는 a이고,
그렇지 않다면 max는 b가 된다.
또 만약, max보다 c가 크다면
max는 c가되는 식을 작성해준다.
그러면 가장 큰 값이 max에 저장되게 된다.
function solution(a, b, c) {
let answer = "YES", max;
let tot = a + b + c;
if (a > b) max = a;
else max = b;
if (c > max) max = c;
if (tot - max <= max) answer = "NO";
return answer;
}
console.log(solution(13, 33, 17));
이제 나머지 두 값의 합이 max보다 작은지 큰지를 알아봐야한다.
그러기 위해서는 우선 모든 세 값을 더한 tot을 지정해주고,
tot에서max를 뺀 값이 max보다 작거나 같다면 answer을 "NO"로 해준다.
아니라면 그냥 return으로 answer출력!
'알고리즘' 카테고리의 다른 글
JS | 10부제 위반 차량 출력하기 (0) | 2021.08.23 |
---|---|
JS | 홀수값 구해서 더하기 / 홀수 중 최솟값 (0) | 2021.08.19 |
JS | 최솟값 구하기 (0) | 2021.08.18 |
JS | 1부터 N까지 합 출력하기 (0) | 2021.08.17 |
JS | 연필개수 (0) | 2021.08.12 |