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


  • 問題でいう三角形の成立条件をよく知らないと判断し,思わず問題を説明し,その条件を安状態に解いた.三角形の基本的な成立条件は分かっていますが、十分に考慮していないところが間違っています.

  • 模範解答コードを見る前に,最大の数がどのようになるかわからない場合には,最大の数を除いて2つの数の和が要求されるため,それぞれ3つの場合に適用されるコードを「total」変数解の部分として印象的である.
  •