ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿ–ฅ ๋ฌธ์ œ

1๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž n ์‚ฌ์ด์— ์žˆ๋Š” ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”.

๐Ÿค” ํ’€์ด ๋ฐฉ๋ฒ•

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋Š” ๊ณ ๋Œ€ ๊ทธ๋ฆฌ์Šค ์ˆ˜ํ•™์ž ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค๊ฐ€ ๋ฐœ๊ฒฌํ•œ ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

SKopp at German Wikipedia, CC BY-SA 3.0 <http://creat ivecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons

1๋ถ€ํ„ฐ ์ˆซ์ž n ์‚ฌ์ด์— ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ ์ž ํ•  ๋•Œ,

  1. 0๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ ๋ชจ๋‘ 1๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.
  2. 0๊ณผ 1์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ 0์œผ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค.
  3. 2๋Š” ์†Œ์ˆ˜์ด๋ฏ€๋กœ, 2๋ฅผ ์ œ์™ธํ•œ 2์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ 0์œผ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค.
  4. 3์€ ์†Œ์ˆ˜์ด๋ฏ€๋กœ, 3์„ ์ œ์™ธํ•œ 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ 0์œผ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค.
  5. 5๋Š” ์†Œ์ˆ˜์ด๋ฏ€๋กœ, 5๋ฅผ ์ œ์™ธํ•œ 5์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ 0์œผ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค.
  6. 7์€ ์†Œ์ˆ˜์ด๋ฏ€๋กœ, 7์„ ์ œ์™ธํ•œ 7์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ 0์œผ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค.
  7. n์˜ ์ œ๊ณฑ๊ทผ๊นŒ์ง€ ์œ„์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด ๋ชจ๋“  ์†Œ์ˆ˜๋งŒ 1๋กœ ๋‚จ๋Š”๋‹ค.
    ์œ„์˜ ๊ทธ๋ฆผ์˜ ๊ฒฝ์šฐ, 11^2 > 120์ด๋ฏ€๋กœ 11๋ณด๋‹ค ์ž‘์€ ์ˆ˜์˜ ๋ฐฐ์ˆ˜๋“ค๋งŒ ๋ฐ”๊พธ์–ด์ฃผ๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค.
    ์ฆ‰, 120๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ˆ˜ ๊ฐ€์šด๋ฐ 2, 3, 5, 7์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ง€์šฐ๊ณ  1๋กœ ๋‚จ๋Š” ๋ชจ๋“  ์ˆ˜๋Š” ์†Œ์ˆ˜์ด๋‹ค.

์ฝ”๋“œ ์„ค๋ช…

Int(Double(n).squareRoot())

  • n์˜ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•œ๋‹ค.
    ์ด๋•Œ, squareRoot()๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  Doubleํ˜• ์ด์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ˜• ๋ณ€ํ™˜์„ ํ•ด์ฃผ์—ˆ๋‹ค.

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Swift Code

func solution(_ n:Int) -> Int {
    var sqrtN = Int(Double(n).squareRoot())
    var eratos = Array(repeating: 1, count: n + 1)
    var answer = 0

    eratos[0] = 0
    eratos[1] = 0

    for i in 0...sqrtN {
       if eratos[i] == 1 {
           var j = i * 2
           while j <= n {
               eratos[j] = 0
               j += i
           }
       }
    }

    for n in eratos {
        if n == 1 {
            answer += 1
        }
    }

    return answer
}

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์†Œ์ˆ˜ ์ฐพ๊ธฐ

1๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž n ์‚ฌ์ด์— ์žˆ๋Š” ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ์†Œ์ˆ˜๋Š” 1๊ณผ ์ž๊ธฐ ์ž์‹ ์œผ๋กœ๋งŒ ๋‚˜๋ˆ„์–ด์ง€๋Š” ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. (1์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.) ์ œํ•œ ์กฐ๊ฑด n์€ 2์ด์ƒ

programmers.co.kr

 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ