ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ™€์ง์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ’ ๋ฐ˜ํ™˜ํ•˜๊ธฐ - js (Math.pow())

2023. 7. 25. 16:38ใ†Study_Develop/์•Œ๊ณ ๋ฆฌ์ฆ˜ | ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

๋ฐ˜์‘ํ˜•

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ™€์ง์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ’ ๋ฐ˜ํ™˜ํ•˜๊ธฐ - js (reduceํ•จ์ˆ˜, push ํ•จ์ˆ˜)

 

๋ฌธ์ œ

์–‘์˜ ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n์ด ํ™€์ˆ˜๋ผ๋ฉด n ์ดํ•˜์˜ ํ™€์ˆ˜์ธ ๋ชจ๋“  ์–‘์˜ ์ •์ˆ˜์˜ ํ•ฉ์„ return ํ•˜๊ณ  n์ด ์ง์ˆ˜๋ผ๋ฉด n ์ดํ•˜์˜ ์ง์ˆ˜์ธ ๋ชจ๋“  ์–‘์˜ ์ •์ˆ˜์˜ ์ œ๊ณฑ์˜ ํ•ฉ์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

 

์ œํ•œ ์‚ฌํ•ญ

1 ≤ n ≤ 100

 

์ž… ์ถœ๋ ฅ ์˜ˆ
n result
7 16
10 220

 

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์˜ˆ์ œ 1๋ฒˆ์˜ n์€ 7๋กœ ํ™€์ˆ˜์ž…๋‹ˆ๋‹ค. 7 ์ดํ•˜์˜ ๋ชจ๋“  ์–‘์˜ ํ™€์ˆ˜๋Š” 1, 3, 5, 7์ด๊ณ  ์ด๋“ค์˜ ํ•ฉ์ธ 1 + 3 + 5 + 7 = 16์„ return ํ•ฉ๋‹ˆ๋‹ค.

 

solution.js

 

 

function solution(n) {
    var answer = 0;
    if(n%2!=0){ // ํ™€์ˆ˜๋ผ๋ฉด
        for(var i = 1; i <= n; i+=2) 
            answer += i;
    }else{ // ์ง์ˆ˜๋ผ๋ฉด
        for(var i = 2; i <= n; i+=2) 
            answer += Math.pow(i,2);
    }
    return answer;
}

 

Math.pow() ?

- Math.pow()ํ•จ์ˆ˜๋Š” base^exponent์ฒ˜๋Ÿผ base์— exponent๋ฅผ ์ œ๊ณฑํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

console.log(Math.pow(7, 3));
// Expected output: 343

console.log(Math.pow(4, 0.5));
// Expected output: 2

console.log(Math.pow(7, -2));
// Expected output: 0.02040816326530612
//                  (1/49)

console.log(Math.pow(-7, 0.5));
// Expected output: NaN

 

Math.pow(base, exponent)

- base๋Š” ๋ฐ‘ ๊ฐ’

 

- exponent ๋Š” ๋ฐ‘์„ ์ œ๊ณฑํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ง€์ˆ˜

 

- ๋ฐ˜ํ™˜ ๊ฐ’์€ ์ฃผ์–ด์ง„ ๋ฐ‘ ๊ฐ’์„ ์ฃผ์–ด์ง„ ์ง€์ˆ˜ ๊ฐ’์œผ๋กœ ๊ฑฐ๋“ญ ์ œ๊ณฑํ•œ ์ˆซ์ž ๊ฐ’

 

// ๊ฐ„๋‹จํ•œ ์˜ˆ
Math.pow(7, 2);    // 49
Math.pow(7, 3);    // 343
Math.pow(2, 10);   // 1024
// ๋ถ„์ˆ˜ ์ง€์ˆ˜
Math.pow(4, 0.5);  // 2 (4์˜ ์ œ๊ณฑ๊ทผ)
Math.pow(8, 1/3);  // 2 (8์˜ ์„ธ์ œ๊ณฑ๊ทผ)
Math.pow(2, 0.5);  // 1.4142135623730951 (2์˜ ์ œ๊ณฑ๊ทผ)
Math.pow(2, 1/3);  // 1.2599210498948732 (2์˜ ์„ธ์ œ๊ณฑ๊ทผ)
// ์–‘์˜ ์ง€์ˆ˜
Math.pow(7, -2);   // 0.02040816326530612 (1/49)
Math.pow(8, -1/3); // 0.5
// ์–‘์˜ ๋ฐ‘
Math.pow(-7, 2);   // 49 (์ œ๊ณฑ์˜ ๊ฒฐ๊ณผ๊ฐ’์€ ์–‘์ˆ˜์ž…๋‹ˆ๋‹ค.)
Math.pow(-7, 3);   // -343 (์„ธ์ œ๊ณฑ์€ ์Œ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)
Math.pow(-7, 0.5); // NaN (์Œ์ˆ˜๋Š” ์‹ค์ œ ์ œ๊ณฑ๊ทผ์„ ๊ฐ€์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)
// "์ง์ˆ˜"์™€ "ํ™€์ˆ˜" ๊ทผ์ด ์„œ๋กœ ๊ฐ€๊น๊ฒŒ ๋†“์—ฌ ์žˆ๊ณ 
// ๋ถ€๋™์†Œ์ˆ˜์  ์ •๋ฐ€๋„์˜ ํ•œ๊ณ„๋กœ ์ธํ•ด,
// ๋ฐ‘์ด ์Œ์ˆ˜์ด๋ฉฐ ์ง€์ˆ˜๊ฐ€ ๋ถ„์ˆ˜๋ผ๋ฉด ์–ธ์ œ๋‚˜ NaN์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
Math.pow(-7, 1/3); // NaN