알고리즘

[JS] 알고리즘 기초 정복 2번 - 삼각형 판별하기

햄❤️ 2021. 6. 28. 20:09
반응형

문제 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
반응형