三角形を判別する


質問する


長さの異なるA、B、Cの3本があります.
三角形を作成できますが、YESを作成できない場合は、「NO」を出力します.

解題プロセス

  • restパラメータでパラメータを受け入れます.
  • の最長辺の長さを求める.
  • rest配列の長さを繰り返し、他の2つのエッジの長さの和を求めます.
  • の最長エッジの長さが他の2つのエッジの長さの和より小さい場合はYES、大きい場合はNOを返します.
  • const solutionA = (...rest) => {
      let sum = 0;
    
      const maxLength = Math.max(...rest);
    
      for (let i = 0; i < rest.length; i++) {
        if (maxLength > rest[i]) sum += rest[i];
      }
    
      return maxLength < sum ? 'YES' : 'NO';
    };

    解法b

  • パラメータで得られた3つのエッジの長さをすべて加算します.
  • パラメータから得られた3辺の長さの最大値を求める.
  • 1で求める値-2で求める値=最大長の辺を除く残りの2辺の長さは
  • である.
  • 2回購入の価格<3回購入の価格?YES' : 'NO'
  • const solutionB = (A, B, C) => {
      const totalSum = A + B + C;
      const maxLength = Math.max(A, B, C);
      const otherLength = totalSum - maxLength;
    
      return maxLength < otherLength ? 'YES' : 'NO';
    };
    間違ったところや補足が必要な場合は、コメントやDM(sungstommin)で教えてください.ありがとうございます.😄