๋ ธ๋ง๋์ฝ๋ฉ ๋, ์ฌ์ฉํ์๋ Math ๋ด์ฅ ๊ฐ์ฒด๊ฐ ์ธ์์ ์ด์๋ค.
์ผ๊ฐํ์ ์ธ ๋ณ์ ์ ๋ ฅ๋ฐ์ ์ง๊ฐ์ผ๊ฐํ(pythagorean)์ธ์ง ์ฌ๋ถ๋ฅผ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
function isPythagorean(side1, side2, side3) {
/*
์ธ์ 1 : side1
number ํ์
์ ์ผ๊ฐํ ํ ๋ณ (1 ์ด์์ ์ ์)
์ธ์ 1 : side2
number ํ์
์ ์ผ๊ฐํ ํ ๋ณ (1 ์ด์์ ์ ์)
์ธ์ 1 : side3
number ํ์
์ ์ผ๊ฐํ ํ ๋ณ (1 ์ด์์ ์ ์)
์ถ๋ ฅ: boolean ํ์
์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
*/
}
์ฒ์๋ถํฐ ๋ฌธ์ ๊ฐ ์ ์ดํด๊ฐ ๋์ง ์์๋ค.
๋ด๊ฐ ๋ฌด์์ ์ด๋ป๊ฒ ํํํด์ผ ํ๋์ง ๊ฐ์ด ์ ์กํ๋ค.
์๋ง ์ฃผ์ ์ฌํญ๋๋ฌธ์ด์๋ ๊ฒ ๊ฐ๋ค.
์ฃผ์ ์ฌํญ
arr.sort
์ฌ์ฉ์ ๊ธ์ง๋ฉ๋๋ค.๋จธ๋ฆฌ ์์ผ๋ก ๋ ๋ค๋๋ ๊ฒ์ ์ ๊ณฑ *2 ์ด๋ฐ ํํ์๊ณ ์น์ํ์ ํ๊ธฐ๋ก ํ๋ค.
๊ฒฐ๊ณผ๋ ๋ป๋ฐ์ด์๋ค.
์ ๊ณฑ์ ํํํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ 3๊ฐ์ง๊ฐ ์๋ค๋ ๋ง์ด ์ ๋ง์ด์๋ค.
์น์ํ์์ ํํธ๋ฅผ ์ป์ด ์์ฑํ ๋ต๋ณ์ ๋ค์๊ณผ ๊ฐ๋ค.
function isPythagorean(side1, side2, side3) {
let pow1 = side1 * side1;
let pow2 = side2**2;
let pow3 = Math.pow(side3,2);
let output1 = pow1 === pow2 + pow3;
let output2 = pow2 === pow1 + pow3;
let output3 = pow3 === pow2 + pow1;
return output1 || output2 || output3;
}