[JS알고리즘] 삼각형 판별하기


우선 삼각형을 만들기 위한 최소한의 조건을 먼저 생각해봐야한다(와 진짜 초딩때나 배웠으려나? 생각해본적도 없는듯)

삼각형을 만들기 위해서는 가장 긴 변을 제외한 나머지 2개의 변의 합이 가장 긴 변보다 길어야 한다

그러니 이거는 1일차에 했던 세 수 중 가장 큰 값을 구하는것과 비슷한 원리를 이용하면 된다


길이가 서로 다른 ABC 세 개의 막대길이가 주어지면 이 세 막대로 삼각형을 만들 수 있으면 ‘yes’를 출력하고 만들 수 없으면 ‘no’를 출력한다

function solution(a,b,c){
	let answer;
	
	return answer;
}

console.log(solution(6,7,11));

function solution(a,b,c){
	let answer = "YES", max;
  let sum = a+b+c;
  
	if(a > b) max = a;
  else max = b;
  if(c > max) max = c; 
  
  if((sum-max) <= max) answer = "NO" 
	return answer;
}

console.log(solution(6,7,11));
  1. 어떤 변수가 가장 큰 값인지를 먼저 판별한다
  2. 하지만 어떤 수가 max에 들어갔는지 알 수 없기 때문에 (그걸 안다면 나머지 변수 그냥 더하면 되는데) sum이라는 변수를 하나 더 만들어서 세 변의 길이의 합을 구한다
  3. 세 변 길이의 합에서 가장 긴 변(max)을 빼준값이 max보다 작거나 같으면 삼각형으로 만들어질 수 없으므로 NO가 찍히면 된다



inflearn 자바스크립트 알고리즘 강의 내용 =)




© 2018. by sora

Powered by sora