๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ

by ์ฝ”ํŒŒ์นด 2022. 11. 19.
728x90

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ2 > ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ


๐Ÿ’ฉ ๋ฌธ์ œ ์„ค๋ช…

๋‘ ์ •์ˆ˜ left์™€ right๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. left๋ถ€ํ„ฐ right๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜๋“ค ์ค‘์—์„œ, ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง์ˆ˜์ธ ์ˆ˜๋Š” ๋”ํ•˜๊ณ , ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ ์ˆ˜๋Š” ๋บ€ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐Ÿ’ฉ ์ œํ•œ ์กฐ๊ฑด

โ˜๏ธ 1 โ‰ค left โ‰ค right โ‰ค 1,000

๐Ÿ’ฉ ๋ฌธ์ œ ํ’€์ด

function solution(left, right) {
    let answer = 0;
    for(i=left; i<=right; i++){
        for(j=0; j<=right; j++){
            if(i/j == j){
                answer -= i * 2;
            }
        }
        answer += i
    }
    return answer;
}

์šฐ์„ , left๋ถ€ํ„ฐ right์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ชจ๋‘ ๋”ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜๋ผ๋Š” ๊ฒƒ์€ ์–ด๋– ํ•œ ์ˆ˜์˜ ์ œ๊ณฑ์ด๋ผ๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ, if๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์˜์˜ ์ˆ˜ j๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ j๊ฐ€ ๋˜๋Š” ์ˆ˜๋Š” ๋นผ์ค๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ๋ชจ๋“  ๊ฐ’์„ ๋”ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, ๋‘ ๋ฒˆ ๋นผ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ฉ ๋‹ค๋ฅธ ํ’€์ด

function solution(left, right) {
    var answer = 0;
    for (let i = left; i <= right; i++) {
        if (Number.isInteger(Math.sqrt(i))) {
            answer -= i;
        } else {
            answer += i;
        }
    }
    return answer;
}

isInteger() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ๊ฐ’์ด ์ •์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•ฉ๋‹ˆ๋‹ค. sqrt() ํ•จ์ˆ˜๋Š” ์ œ๊ณฑ๊ทผ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ณฑ๊ทผ ๊ฒฐ๊ณผ๊ฐ€ ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ 0์„ ๋ฆฌํ„ดํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ›จ์”ฌ ๊ฐ€๋…์„ฑ ์ข‹๋„ค์š”.

728x90

๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฆ™

CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘