Unit5 - [JavaScript] ๊ธฐ์ดˆ

๊ฐ•์„ฑ์ผยท2023๋…„ 4์›” 18์ผ
0
post-thumbnail

โœ… TIL


๋…ธ๋งˆ๋“œ์ฝ”๋”ฉ ๋•Œ, ์‚ฌ์šฉํ–ˆ์—ˆ๋˜ Math ๋‚ด์žฅ ๊ฐ์ฒด๊ฐ€ ์ธ์ƒ์ ์ด์—ˆ๋‹ค.




๐Ÿ“ Challenge


์‚ผ๊ฐํ˜•์˜ ์„ธ ๋ณ€์„ ์ž…๋ ฅ๋ฐ›์•„ ์ง๊ฐ์‚ผ๊ฐํ˜•(pythagorean)์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


function isPythagorean(side1, side2, side3) {
  /*
 	์ธ์ž 1 : side1
	number ํƒ€์ž…์˜ ์‚ผ๊ฐํ˜• ํ•œ ๋ณ€ (1 ์ด์ƒ์˜ ์ •์ˆ˜)
	์ธ์ž 1 : side2
	number ํƒ€์ž…์˜ ์‚ผ๊ฐํ˜• ํ•œ ๋ณ€ (1 ์ด์ƒ์˜ ์ •์ˆ˜)
	์ธ์ž 1 : side3
	number ํƒ€์ž…์˜ ์‚ผ๊ฐํ˜• ํ•œ ๋ณ€ (1 ์ด์ƒ์˜ ์ •์ˆ˜)
    
    ์ถœ๋ ฅ: boolean ํƒ€์ž…์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  */
}

์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฌธ์ œ๊ฐ€ ์ž˜ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•˜๋‹ค.
๋‚ด๊ฐ€ ๋ฌด์—‡์„ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ฐ์ด ์•ˆ ์žกํ˜”๋‹ค.

์•„๋งˆ ์ฃผ์˜ ์‚ฌํ•ญ๋•Œ๋ฌธ์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.


์ฃผ์˜ ์‚ฌํ•ญ

  • ์‚ผ๊ฐํ˜•์˜ ๊ฐ ์„ธ ๋ณ€์€ ๋ฌด์ž‘์œ„๋กœ ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ x์˜ ์ œ๊ณฑ(x squared)์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 3๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค. ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • 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;
}
profile
์•„์ด๋””์–ด๊ฐ€ ๋„˜์น˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๊ฟˆ๊ฟ‰๋‹ˆ๋‹ค ๐Ÿ”ฅ

0๊ฐœ์˜ ๋Œ“๊ธ€