JS_daily_algorithm_01

문제:

내가 쓴 코드:

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(a, b, c) {
        let answer = "YES";
        let bignum = 0;

        if (a > b) bignum = a;
        else bignum = b;

        if (bignum < c) bignum = c;

        if (bignum == a) if (bignum >= b + c) answer = "NO";
        if (bignum == b) if (bignum >= a + c) answer = "NO";
        if (bignum == c) if (bignum >= a + b) answer = "NO";

        return answer;
      }

      console.log(solution(30, 20, 10));
    </script>
  </body>
</html>

 

모범 답안:

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            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));
        </script>
    </body>
</html>

 

Impressive Point & Learning Point

  1. 문제에서 말한 삼각형의 성립 조건에 대해서 섣불리 모른다고 판단하고, 깊게 고민하지 않고 문제에 대한 해설을 본 뒤에 해당 조건을 안 상태로 풀었다. -> 삼각형의 기본 성립 조건을 알게 되었으나, 충분히 고민하지 않았던 점은 잘 못했다.

  2. 모범 답안 코드를 보기전에는 제일 큰 수에 어떤수가 올지 모르는 상황에서, 제일 큰수를 제외한 나머지 두 가지 수의 합을 구해야했기에 각각 경우를 나눠서 문제를 풀었는데, 세가지 경우에 모두 적용될 수 있는 코드를 "total" 이라는 변수로 풀어내는 부분이 인상 깊었다.

 

좋은 웹페이지 즐겨찾기