๊ด€๋ฆฌ ๋ฉ”๋‰ด

0105

63. Java/Javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(lv.1) ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ ๋ณธ๋ฌธ

๐Ÿง‘‍๐Ÿ’ป programmers

63. Java/Javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(lv.1) ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ

๊ณต๋ฐฑ์˜ค 2025. 3. 20. 16:55
728x90
๋ฐ˜์‘ํ˜•

โœ…๋ฌธ์ œ

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

โœ… java

class Solution {
    public int solution(int left, int right) {
        int answer = 0;
        /*์–ด๋–ค ์ˆ˜๊ฐ€ ์ œ๊ณฑ์ˆ˜์ด๋ฉด ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ด๋‹ค.!!*/
        for (int i = left; i <= right; i++) {
            /*
            Math.sqrt(i): i์˜ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
            (int) Math.sqrt(i): ์†Œ์ˆ˜์ ์„ ๋ฒ„๋ฆฐ ์ •์ˆ˜ ๊ฐ’๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
            ๋งŒ์•ฝ ์†Œ์ˆ˜์ ์ด ์—†๋‹ค๋ฉด(Math.sqrt(i)๊ฐ€ ์ •์ˆ˜๋ผ๋ฉด) → ์ œ๊ณฑ์ˆ˜์ž…๋‹ˆ๋‹ค.
*/
            if(Math.sqrt(i) == (int)Math.sqrt(i)) {
                //์–ด๋–ค ์ˆ˜๊ฐ€ ์ œ๊ณฑ์ˆ˜์ด๋ฉด ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ด๋‹ค.
                answer -= i;
            }else{
                answer += i;
            }
        }

        return answer;
    }
}

โœ… javaScript

function solution(left, right) {
    let answer = 0;

    for (let i = left; i <= right; i++) {
        // ์ œ๊ณฑ์ˆ˜์ธ์ง€ ํ™•์ธ
        if (Math.sqrt(i) === Math.floor(Math.sqrt(i))) {
            answer -= i; // ์ œ๊ณฑ์ˆ˜์ด๋ฉด ๋นผ๊ธฐ
        } else {
            answer += i; // ์ œ๊ณฑ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด ๋”ํ•˜๊ธฐ
        }
    }

    return answer;
}

โœ”๏ธ Math.sqrt()

  • ์–‘์ˆ˜๋งŒ ์ž…๋ ฅ ๊ฐ€๋Šฅ(์Œ์ˆ˜ ์ž…๋ ฅ์‹œ NaN ๋ฐ˜ํ™˜)
  • ์†Œ์ˆ˜์  ์žˆ๋Š” ์‹ค์ˆ˜ ๋ฐ˜ํ™˜๊ฐ€๋Šฅ
  • Math.sqrt(25) -> 5 (์ œ๊ณฑ์ˆ˜๋ฉด ์ •์ˆ˜)
  • Math.sqrt(28) -> 4.24 (์ œ๊ณฑ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด ์‹ค์ˆ˜)

โœ”๏ธ Math.floor()

  • x๋ฅผ ๋‚ด๋ฆผ(๋ฒ„๋ฆผ)ํ•ด์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
  • ๋ฐ˜ํ™˜๊ฐ’ : ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ฆฐ ์ •์ˆ˜
  • ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฌด์กฐ๊ฑด ๋ฒ„๋ฆผ(๋‚ด๋ฆผ)
  • ์ •์ˆ˜์ž…๋ ฅ์‹œ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜
728x90