πŸ§‘‍πŸ’» 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