๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜

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

by _ํ† ๋งคํ†  2022. 11. 23.
728x90

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


๐Ÿ“– ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“–

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

๐Ÿงธ ์ œํ•œ ์‚ฌํ•ญ ๐Ÿงธ

1 โ‰ค left โ‰ค right โ‰ค 1,000

function solution(left, right) {
    let answer = 0;
    
     for(let i = left; i <= right; i++) {
        let count = 0; // ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‹ด๊ธฐ์œ„ํ•œ ๋ณ€์ˆ˜
        
        for(let j = 1; j<=i; j++) { // ๊ฐ๊ฐ์˜ i์˜ ์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ํ•œ ๋ฒˆ ๋” ์‹œ์ผœ์ค๋‹ˆ๋‹ค.
            if(i % j === 0) { // ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆ˜๋Š” ์•ฝ์ˆ˜์ด๋ฏ€๋กœ ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด sum์„ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค.
                count += 1
            }
        }
        answer = count%2==0 ? answer += i : answer -= i
         // ์กฐ๊ฑด์‚ผํ•ญ์ž๋ฅผ ํ†ตํ•ด ๋งŒ์•ฝ i์˜ ์•ฝ์ˆ˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด ๋”ํ•˜๊ณ  ํ™€์ˆ˜๋ผ๋ฉด ๋นผ์ค๋‹ˆ๋‹ค.
    }
    return answer;
}
// ๋งŒ์•ฝ left๊ฐ€ 13 / right๊ฐ€ 17์ผ ๊ฒฝ์šฐ 43์„ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
// left๊ฐ€ 24 / right๊ฐ€ 27์ด๋ผ๋ฉด 52๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค!

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

์˜ค๋Š˜์€ ์ฃผ์„์„ ํ•จ๊ป˜ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!!


๐Ÿงธ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด ๐Ÿงธ

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๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ๊ฐ€ ๋‚˜์™”๋„ค์š”..! ์•„์ง ์ž˜ ๋ชจ๋ฅด๋Š” ๋ฉ”์„œ๋“œ๋ผ ํ•œ ๋ฒˆ ๊ณต๋ถ€ํ•ด๋ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค..!

728x90

๋Œ“๊ธ€


Lucky Charms Rainbow
js
html
css