[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ (Math.sqrt)

2024. 9. 18. 23:51ยท๐Ÿชด JavaScript & TypeScript/๐Ÿงฉ Algorithm
SMALL

9.18

ํ•˜๋ฃจ์— ํ•˜๋‚˜๋ผ๋„ ๊ผญ ์ฝ”ํ…Œ ํ’€๊ธฐ!
(์ž…๋ฌธ์€ ์–ผ๋ฅธ ๋๋‚ด๋ฒ„๋ฆฌ๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋„ ํ’€์–ด๋ด์•ผ ํ• ํ…๋ฐ
์ผ๋‹จ ์ž๊ฒฉ์ฆ ์‹œํ—˜ ๊ณต๋ถ€๋„ ์žˆ๊ณ  ์•Œ๋ฐ”๋„ ํ•˜๊ณ  ์žˆ์–ด์„œ.. 10์›”์— ์‹œํ—˜์ด ๋๋‚˜๋ฉด ํ•ด์•ผํ•  ๊ฒŒ ๋งŽ๊ฒ ๋‹ค.)

 


์ฝ”ํ…Œ ์ž…๋ฌธ ๋ฌธ์ œ - ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

โ“ ๋ฌธ์ œ

์–ด๋–ค ์ž์—ฐ์ˆ˜๋ฅผ ์ œ๊ณฑํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ์ •์ˆ˜๋ฅผ ์ œ๊ณฑ์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n์ด ์ œ๊ณฑ์ˆ˜๋ผ๋ฉด 1์„ ์•„๋‹ˆ๋ผ๋ฉด 2๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ
1 ≤ n ≤ 1,000,000

 

 

๐Ÿช„ ๋‚ด ์ฝ”๋“œ

function solution(n) {
    let answer = 2;
    for (let i = 1; i <= 1000; i++) {
        if (i ** 2 == n) {
            answer = 1;
            break;
        }
    }
    return answer;
}

 

Math.sqrt ๋ฉ”์„œ๋“œ ๋“ฑ ์‚ฌ์šฉ ์—†์ด, for , if ๋ฌธ์œผ๋กœ ํ‘ผ ํ’€์ด.

for๋ฌธ ์กฐ๊ฑด์‹์€ n์˜ ๋ฒ”์œ„์— ๋งž์ท„๋‹ค.

 

* ์ˆ˜์ •์‚ฌํ•ญ - ์„ฑ๋Šฅ๊ฐœ์„ : for๋ฌธ ์•ˆ break ํ•„์š”ํ•œ ์ง€ ์ฒดํฌํ•˜๊ธฐ

์ฒ˜์Œ์—๋Š” if ๋ฌธ ์•ˆ์— break๋ฅผ ์•ˆ๊ฑธ์–ด์ค˜์„œ n์ด ์ œ๊ณฑ์ˆ˜์ž„์ด ํ™•์ธ๋˜์–ด๋„ ๊ณ„์† for๋ฌธ์œผ๋กœ i <= 1000 ๊นŒ์ง€ ๋Œ๋ ค๋ฒ„๋ฆผ.

=> break ๋ฌธ์„ ์จ์ฃผ์—ˆ๋”๋‹ˆ, ํ™•์‹คํžˆ ๋ช‡๋ช‡ ์ผ€์ด์Šค์—์„œ 0.04 ~ 0.05 ms ์ •๋„ ์‹œ๊ฐ„์ด ๊ฐ์†Œํ–ˆ๋‹ค.

 

 

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

1) 

function solution(n) {
  return Number.isInteger(Math.sqrt(n)) ? 1 : 2;
}

 

- Number.isInteger() : ์ฃผ์–ด์ง„ ๊ฐ’์ด ์ •์ˆ˜์ธ์ง€ ํŒ๋ณ„ (๋ฐ˜ํ™˜๊ฐ’ - boolean)

 

- Math.sqrt() : ์ˆซ์ž์˜ ์ œ๊ณฑ๊ทผ ๋ฐ˜ํ™˜ (์†Œ์ˆ˜์  ์•„๋ž˜๊ฐ’๊นŒ์ง€). 

                       ์ฃผ์–ด์ง„ ์ˆซ์ž์— ๋ฃจํŠธ(√ )๋ฅผ ์”Œ์›€.

                       ๋งŒ์•ฝ ์ˆซ์ž๊ฐ€ ์Œ์ˆ˜์ด๋ฉด NaN๋ฅผ ๋ฐ˜ํ™˜.

(์ฐธ๊ณ  https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt)

 

 

 

 

SMALL

'๐Ÿชด JavaScript & TypeScript > ๐Ÿงฉ Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ : 2์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ  (0) 2024.11.07
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ (Array.reverse, unshift ๋“ฑ)  (0) 2024.08.26
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„ (Array.filter, includes ๋ฉ”์„œ๋“œ)  (0) 2024.08.21
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ง์ˆ˜๋Š” ์‹ซ์–ด์š” (๊ฐ„๋‹จ for๋ฌธ, Array.from ๋“ฑ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ)  (0) 2024.08.05
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด (filter, sort, ์‚ผํ•ญ์—ฐ์‚ฐ์ž)  (0) 2024.03.05
'๐Ÿชด JavaScript & TypeScript/๐Ÿงฉ Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ : 2์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ
  • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ (Array.reverse, unshift ๋“ฑ)
  • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„ (Array.filter, includes ๋ฉ”์„œ๋“œ)
  • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ง์ˆ˜๋Š” ์‹ซ์–ด์š” (๊ฐ„๋‹จ for๋ฌธ, Array.from ๋“ฑ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ)
๋ จ๋””
๋ จ๋””
FE - ๊ฐœ๋ฐœ ๊ณต๋ถ€์˜ ๊ธฐ๋ก
  • ๋ จ๋””
    Ryeon's Devstory
    ๋ จ๋””
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (69)
      • ๐Ÿชด JavaScript & TypeScript (11)
        • ๐Ÿงฉ Algorithm (6)
      • ๐Ÿชด React (12)
      • ๐Ÿชด Next.js (8)
      • ๐Ÿชด HTML & CSS (2)
      • ๐Ÿชด DB & BaaS (5)
      • ๐Ÿชด Git &Github (0)
      • โœ๏ธ ํ”„๋กœ์ ํŠธ ๊ณผ์ • & ํšŒ๊ณ  (18)
      • โœ๏ธ Today what I Learned _T.. (11)
      • ๐Ÿ•Š๏ธ IT ์•„ํ‹ฐํด (0)
      • etc. (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • My Github ๐Ÿ˜บ
    • ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ ๐ŸŽต๐ŸŽง (์ผ์ƒ,์Œ์•… ๋“ฑ)
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ
    ๋น„๋™๊ธฐํ†ต์‹ 
    ๋ Œ๋”๋งํŒจํ„ด
    NVM
    useMutation
    State
    ์—๋Ÿฌ
    ์˜ค๋ธ”์™„
    ํ‹ฐ์Šคํ† ๋ฆฌ๋ธ”๋กœ๊ทธ์Šคํ‚จ
    reacthook
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    Vite
    BAAS
    ์›น๊ฐœ๋ฐœ ๊ธฐ์ดˆ
    axios
    Next.js
    props
    react
    useEffect
    reactquery
    Supabase
    fetch
    tailwind
    ์ปดํฌ๋„ŒํŠธ๋ถ„๋ฆฌ
    ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
    route handler
    json-server
    ์˜์กด์„ฑ๋ฐฐ์—ด
    Array.filter
    ๋ฆฌ์•กํŠธ์ฟผ๋ฆฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
๋ จ๋””
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ (Math.sqrt)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”