일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 재귀함수 탬플릿
- Instanc
- 클래스 문법 구조
- 문자열을 객체로 만드는법
- 화살표함수 기본 개념
- align-content
- class
- justfiy-content
- probs
- 얕은복사와 깊은 복사
- props비구조화 할당
- 참조자료형
- flex-direction
- async/await
- 객체지향 프로그래밍 특징
- 추상화 (abstraction)
- Promise all
- string
- 상속 (inheritance)
- Math.floor()
- 재귀적으로 생각하기
- align-iitems
- 캡슐화 (encapsulation)
- Promise Chaining
- css 정리
- 조건문
- 다형성 (polymorphism)
- display
- 첫번째 미니 프로잭트
- probs.children
Archives
- Today
- Total
희락코딩
isPythagorean 본문
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