희락코딩

isPythagorean 본문

프로그래밍/코드 문제 풀이

isPythagorean

Hello JoyCoding 2021. 4. 9. 15:49
728x90
반응형

문제 function Pytha(side1, side2, side3){ }

 

삼각형의 세 변을 입력받아 직각삼각형(pythagorean)인지 여부를 리턴해야 합니다.

  • 삼각형의 각 세 변은 무작위로 입력됩니다.
  • 자바스크립트에서 x의 제곱(x squared)을 구하는 방법은 3가지 입니다. 세 가지 방법을 모두 사용해야 합니다.
  • arr.sort 사용은 금지됩니다.
  • 제곱을 구할 때는 입력으로 주어지는 변수를 그대로 사용해야 합니다.
// 수도 코드 작성 //
// 세변을 입력받아 직각삼각형 여부 파악 
// 제곱근을 구하는 방식 3가지를 각 변수에 담는다.
 
// 제곱근을 구하는 방식 1  pow1 = side1*side1  
// 제곱근을 구하는 방식 2  pow2 = side2**2  
// 제곱근을 구하는 방식 3  pow3 = Math.pow(side3,2)    

// 제곱근 변수를 활용해서 직각 삼각형을 공식을 활용해서 조건을 다시 변수에 담는다
// pow1 이 클경우 type_A = pow1 === pow2 + pow3  
// pow2 가 클경우 type_B = pow2 === pow1 + pow3  
// pew3 이 클경우 type_C = pow3 === pow1 + pow2

//직각 삼각형을 구하는 조건을 활용하여 불린 타입으로 반환한다.

 

 

▶ 코드 작성

1
2
3
4
5
6
7
8
9
10
11
12
13
function Pytha(side1, side2, side3) {                    
  
  let pow1 = side1*side1
  let pow2 = side2**2
  let pow3 = Math.pow(side3,2)
 
  let type_A = pow1 === pow2 + pow3
  let type_B = pow2 === pow1 + pow3
  let type_C = pow3 === pow1 + pow2
 
  return type_A || type_B || type_C ? true:false;
}
 
cs

 

 

▶ 문제 풀이

 

이문제를 풀기 위해선 직각 삼각형 넓이를 구하는 공식을 알아야 됩니다.

직각 삼각형의 넓이를 구하는 공식은 (a가 제일 긴 변이라 가정하에)

 

a*a = (b*b) + (c*c)  입니다.

 

이 공식을 활용해서 제곱근(자기자신을 곱하는)을 구하는 3가지의 방법을 찾아 각 변수에 담습니다.

 

제곱근을 담은 변수를 활용해서  type_A가 긴 경우,  type_B가 긴 경우, type_C가 긴 경우의 조건을 식으로 담습니다.

 

각각 담은 조건을 활용해서 boolean 타입으로 반환합니다.

728x90
반응형

'프로그래밍 > 코드 문제 풀이' 카테고리의 다른 글

addToBackOfNew & addToFrontOfNew  (0) 2021.04.25
getEvenNumbers  (1) 2021.04.24
makeLastSeenMsg  (0) 2021.04.09
findShortestOfThreeWords  (0) 2021.04.09
isEitherEvenAndLessThan8  (0) 2021.04.09
Comments