๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ Math ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ, ๋กœ๋˜๋ฒˆํ˜ธ ์ถ”์ถœ๊ธฐ
Front-End/JavaScript

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ Math ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ, ๋กœ๋˜๋ฒˆํ˜ธ ์ถ”์ถœ๊ธฐ

2022. 5. 23. 21:55
๋ฐ˜์‘ํ˜•

 

 

1. Math๊ฐ์ฒด


 

 

Math๊ฐ์ฒด๋Š” ์ˆ˜ํ•™์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ƒ์ˆ˜์˜ ํ•จ์ˆ˜๋“ค์„ ๊ตฌํ˜„ํ•ด๋†“์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ ๋‚ด์žฅ ๊ฐ์ฒด์ด๋‹ค.

 

 

 

 

1-2. Math๊ฐ์ฒด ํŠน์ง•

 

  • Math๊ฐ์ฒด๋Š” Number ์ž๋ฃŒํ˜•๋งŒ ์ง€์›ํ•˜๋ฉฐ BigInt์™€๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • (BigInt : Number๋ณด๋‹ค ํฐ ์ •์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ๊ฐ์ฒด)
  • constrctor(์ƒ์„ฑ์ž)๊ฐ€ ์—†๋‹ค
  • instance๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ Math๊ฐ์ฒด์˜ ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์™€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

2. ๋Œ€ํ‘œ์  Math ๋ฉ”์†Œ๋“œ์™€ ์˜ˆ์‹œ


 

2-1. Math.floor(num) โžก๏ธ Number

์ธ์ˆ˜์˜ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋‚ด๋ฆผํ•˜์—ฌ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

์Œ์ˆ˜์ผ ๊ฒฝ์šฐ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋‚ด๋ฆผํ•œ ํ›„ -1 ํ•œ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

Math.floor(1.6); //1
Math.floor(1.2); //1
Math.floor(-1.6); //-2
Math.floor(0); //0
Math.floor(2.99999999); //2

 

 

2-2. Math.ceil(num) โžก๏ธ Number

์ธ์ˆ˜์˜ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ์˜ฌ๋ฆผ ํ•˜์—ฌ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

Math.ceil(1.6); //2
Math.ceil(1.2); //2
Math.ceil(-1.6); //-1
Math.ceil(0); //0
Math.ceil(2.99999999); //3

 

 

2-3. Math.round(num) โžก๏ธ Number

์ธ์ˆ˜์˜ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

Math.round(1.6); //2
Math.round(1.2); //1
Math.round(-1.6); //-2
Math.round(0); //0
Math.round(2.99999999); //2

 

 

2-4. Math.abs(num) โžก๏ธ Number

์ธ์ˆ˜์˜ ์ ˆ๋Œ€๊ฐ’์„ ๋ฐ˜ํ™˜

Math.abs(1); //1
Math.abs(-1); //1
Math.abs('1'); //1
Math.abs(); //NaN
Math.abs(null); //0
Math.abs(undefined); //Nan

 

 

2-5. Math.random() โžก๏ธ Number

0๊ณผ 1 ์‚ฌ์ด์˜ ๋‚œ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

(0์€ ํฌํ•จ 1์€ ๋ฏธํฌํ•จ)

Math.random(); //0.8662034456576044 (0๊ณผ 1์‚ฌ์ด์— ๋žœ๋คํ•œ ๋ถ€๋™์†Œ์ˆ˜)
Math.random(1); //0.6471757091760314 (0๊ณผ 1์‚ฌ์ด์— ๋žœ๋คํ•œ ๋ถ€๋™์†Œ์ˆ˜)

Math.random() * 10 //7.098765947852081

 

 

2-6. Math.max(...num) โžก๏ธ Number

0๊ฐœ ์ด์ƒ์˜ ์ธ์ˆ˜์—์„œ ์ œ์ผ ํฐ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

Math.max(1,2,3) //3



// ๋ฐฐ์—ด์„ ์ง์ ‘์ ์œผ๋กœ ๋„ฃ์–ด ์‹คํ–‰ํ•˜๋ฉด NaN๊ฐ€ ๋ฐ˜ํ™˜๋จ
Math.max([2,1,4]) //NaN

// ๋”ฐ๋กœ ๋ฐฐ์—ด์„ ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ›„ ์ธ์ˆ˜๋กœ ๋ฐ›์•„์•ผํ•จ
let arr = [2,1,4];
Math.max(...arr); //4

 

 

2-7. Math.min(...num) โžก๏ธ Number

0๊ฐœ ์ด์ƒ์˜ ์ธ์ˆ˜์—์„œ ์ œ์ผ ์ž‘์€ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

Math.min(1,2,3) //1



// ๋ฐฐ์—ด์„ ์ง์ ‘์ ์œผ๋กœ ๋„ฃ์–ด ์‹คํ–‰ํ•˜๋ฉด NaN๊ฐ€ ๋ฐ˜ํ™˜๋จ
Math.min([2,1,4]) //NaN

// ๋”ฐ๋กœ ๋ฐฐ์—ด์„ ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ›„ ์ธ์ˆ˜๋กœ ๋ฐ›์•„์•ผํ•จ
let arr = [2,1,4];
Math.min(...arr); //1

 

 

2-8. Math.sqrt(num) โžก๏ธ Number

์ธ์ˆ˜์˜ ์ œ๊ณฑ๊ทผ์„ ๋ฐ˜ํ™˜

Math.sqrt(121); //11
Math.sqrt(-121); //NaN
Math.sqrt(3); //1.7320508075688772
Math.sqrt(1); //1
Math.sqrt(0); //0
Math.sqrt(); //NaN

 

 

2-9. Math.pow(num1, num2) โžก๏ธ Number

num1์˜ num2 ์ œ๊ณฑ๊ทผ์„ ๋ฐ˜ํ™˜

Math.pow(2, 3); //8 = 2 ** 3
Math.pow(1, 3); //1 = 1 ** 3
Math.pow(-2, 3); //-8 = -2 **3

 

 

 

์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ Math ๋ฉ”์†Œ๋“œ๋“ค์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

Math.log(num)์™€ ๊ฐ™์ด ๋กœ๊ทธ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜

Math.sin(num), Math.tan(num) ๊ณผ ๊ฐ™์ด ์‚ฌ์ธ์ด๋‚˜ ํƒ„์  ํŠธ ๊ฐ™์€ ์‚ผ๊ฐํ•จ์ˆ˜๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

๋” ์ž์„ธํ•œ ๋ฉ”์†Œ๋“œ๋“ค์„ ๋ณด๊ณ  ์‹ถ์œผ๋ฉด ์•„๋ž˜ ๋งํฌ๋กœ ํƒ€๊ณ  ๋“ค์–ด๊ฐ€๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹คโฌ

 

 

Math - JavaScript | MDN

Math๋Š” ์ˆ˜ํ•™์ ์ธ ์ƒ์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ์œ„ํ•œ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง„ ๋‚ด์žฅ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ๊ฐ์ฒด๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

developer.mozilla.org

 

 

 

 

 

 

3. Math ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•œ ๋กœ๋˜๋ฒˆํ˜ธ ์ถ”์ถœ๊ธฐ


์ด๋ฒˆ ์ฃผ ๋กœ๋˜๋ฒˆํ˜ธ๋Š” ๋ฐ”๋กœ ๋„ˆ๋‹ค!!!!!!!

 

 

 

๋งค์ฃผ 6๊ฐœ์˜ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ๋‹น์ฒจ๋˜๋Š” ๋กœ๋˜๋ฒˆํ˜ธ!

Math๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์ž๋™์œผ๋กœ ์ถ”์ถœ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค์–ด๋ณด์ž.

make num ์–ด์ฉŒ๊ณ  ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด 6๊ฐœ์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋žœ๋ค์œผ๋กœ ๋œฌ๋‹ค.

 

See the Pen Untitled by hong (@hong99cone) on CodePen.


 

// ๋กœ๋˜ ๋„˜๋ฒ„๋ฅผ ๋ฝ‘๋Š” ๋ถ€๋ถ„
// Math.random ์œผ๋กœ 0-1์‚ฌ์ด์— ๋ถ€๋™์†Œ์ˆ˜๋ฅผ ๋žœ๋ค์œผ๋กœ ๋ฝ‘๊ณ 
// * 45๋กœ 0 ~45 ๋ฏธ๋งŒ ์†Œ์ˆ˜์ ์„ ๊ฐ€์ง„ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ค๊ฒŒ ํ•ด์คŒ
// ๋กœ๋˜์ˆซ์ž์—๋Š” 0์ด ์—†์œผ๋ฏ€๋กœ +1๋ฅผ ํ•ด์คŒ 1-45 ๋ฒ”์œ„์˜ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ด
// Math.floor๋กœ ์˜ฌ๋ฆผ์—†์ด ์†Œ์ˆ˜์ ์„ ์ „๋ถ€๋ฒ„๋ฆฌ๊ณ  ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•จ

let lottoNum = Math.floor((Math.random() * 45) + 1);

 

๋กœ๋˜ ์ˆซ์ž๋ฅผ ๋ฝ‘๋Š” ๋‹ค๋ฅธ ๋ถ€๋ถ„์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋”ฐ๋กœ ํฌ์ŠคํŒ…ํ•  ์˜ˆ์ •์ด๋‹ค.

๋žœ๋ค ๋ฝ‘๊ธฐ ์ด๋ฒคํŠธ๋ฅผ ํ•˜๋Š” ์‚ฌ์ดํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ผ Math ๋ฉ”์†Œ๋“œ๋“ค์„ ํ™œ์šฉํ•ด๋ดค๋‹ค.

 

 

 

 

 

Reference(์ฐธ์กฐ)

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math

https://www.tcpschool.com/javascript/js_standard_math

 

 

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Front-End > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Map ๊ฐœ๋…์ •๋ฆฌ  (0) 2022.06.13
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Set ๊ฐœ๋…์ •๋ฆฌ  (0) 2022.06.07
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ๋ฐฐ์—ด(Array)์˜ ๊ฐœ๋…๊ณผ ์˜ˆ์‹œ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)  (0) 2022.05.31
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ ๋ฐฐ์—ด Array ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)  (0) 2022.05.26
[JS] ๋…ธ๋งˆ๋“œ ์ฝ”๋” : ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€ ํ›„๊ธฐ  (0) 2022.05.07
    'Front-End/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Set ๊ฐœ๋…์ •๋ฆฌ
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ๋ฐฐ์—ด(Array)์˜ ๊ฐœ๋…๊ณผ ์˜ˆ์‹œ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ ๋ฐฐ์—ด Array ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)
    • [JS] ๋…ธ๋งˆ๋“œ ์ฝ”๋” : ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€ ํ›„๊ธฐ
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”