반응형
문제 2번
길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있으면 “YES"를 출력하고, 만들 수 없으면 ”NO"를 출력한다.
🍄 입력설명
첫 번째 줄에 100이하의 서로 다른 A, B, C 막대의 길이가 주어진다.
🍄 출력설명
첫 번째 줄에 “YES", "NO"를 출력한다.
🍄 입력예제 1
6 7 11
🍄 출력예제 1
YES
🍄 입력예제 2
13 33 17
🍄 출력예제 2
NO
두 변의 길이의 합은 나머지 한 변보다 항상 크다는 것을 알면 풀 수 있다!
정답 코드
function solution(a, b, c) {
let answer = "YES", max;
let sum = a + b + c; //합을 구해서 나머지 두 변의 길이 합을 구해줄 것
if (a > b) max = a;
else max = b;
if (max < c) max = c;
if (sum - max <= max) answer = "NO";
return answer;
}
console.log(solution(6, 7, 11)); //YES 출력
이건 내가 풀었는데 반례가 있을까?... 궁금하다!
function solution(a, b, c) {
let answer;
if (a + b <= c) answer = "NO";
else if (a + c <= b) answer = "NO";
else if (b + c <= a) answer = "NO";
else answer = "YES";
return answer;
}
console.log(solution(6, 7, 11));
//YES 출력
728x90
반응형
'알고리즘' 카테고리의 다른 글
[JS] 알고리즘 기초 정복 4번 - 1부터 N까지 합 출력하기 (0) | 2021.07.02 |
---|---|
[JS] 알고리즘 기초 정복 3번 - 연필개수 (0) | 2021.06.28 |
[JS] 알고리즘 기초 정복 1번 - 세 수 중 최솟값 찾기 (0) | 2021.06.28 |
[JS] 프로그래머스 1단계 - 모의고사(완전탐색) (0) | 2021.06.09 |
[JS] 프로그래머스 1단계 - 체육복(greedy) (0) | 2021.06.09 |