코딩테스트를 대비하여 문제를 한개씩 풀어보는 게 좋을 것 같아서 인프런 강의를 구매했다.
매일은 아니더라도 꾸준히 공부해서 실력을 키워나가야지…!
Lst’s GO…!


문제 : 길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있으면 “YES”를 출력하고, 만들 수 없으면 ”NO”를 출력한다.
입력예제1 : 6 7 11
출력예제1 : YES

입력예제2 : 13 33 17
출력예제2 : NO



삼각형의 조건에 대해서 먼저 알아보자.
세 변의 길이를 알고있을 때, 삼각형이 되려면 가장 큰 변의 길이가 나머지 두 변의 길이 합보다 짧아야한다.
가장 큰 값을 먼저 구한 뒤, 세 변의 합에서 큰 값을 빼면 나머지 두 변의 길이 합이 된다.
두 변의 길이 합과 큰 값을 비교만 하면 답이 나온다.


내가 푼 내용

function solution(a, b, c){
  let answer;
  let max;
  
  if(a>b){
      max = a;
  }else{
      max = b;
  }
  if(c > max){
      max = c;
  }

  if((a+b+c)-max > max){
      answer = "YES";
  }else{
      answer = "NO";
  }
  return answer;
}



정답코드를 보자…!

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;



이번에는 얼추 비슷했던 것 같다.
어차피 들어오는 숫자는 형식이 정해져있고, YES 아니면 NO이니까
초기에 YES로 설정해두는 것도 좋은 방법인 것 같다.
굳이 else문을 추가해줄 필요가 없으니 말이다.
그리고 변수를 let answer, max; 와 같은 형태로 구현할 수 있는 것도 몰랐다.
단순한 JS 사용법인데도 모르고 있었다니..ㅠㅠㅠ
아직 많은 공부가 필요하다는 걸 깨닫는 하루다…