ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฅ ๋ฌธ์
1๋ถํฐ ์ ๋ ฅ๋ฐ์ ์ซ์ n ์ฌ์ด์ ์๋ ์์์ ๊ฐ์๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ๋ง๋ค์ด ๋ณด์ธ์.
๐ค ํ์ด ๋ฐฉ๋ฒ
์๋ผํ ์คํ ๋ค์ค์ ์ฒด
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ ๊ณ ๋ ๊ทธ๋ฆฌ์ค ์ํ์ ์๋ผํ ์คํ ๋ค์ค๊ฐ ๋ฐ๊ฒฌํ ์์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด๋ค.
1๋ถํฐ ์ซ์ n ์ฌ์ด์ ์์๋ฅผ ๊ตฌํ๊ณ ์ ํ ๋,
- 0๋ถํฐ n๊น์ง์ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ด๋ฅผ ๋ชจ๋ 1๋ก ์ด๊ธฐํํ๋ค.
- 0๊ณผ 1์ ์์๊ฐ ์๋๋ฏ๋ก 0์ผ๋ก ๋ฐ๊พธ์ด์ค๋ค.
- 2๋ ์์์ด๋ฏ๋ก, 2๋ฅผ ์ ์ธํ 2์ ๋ฐฐ์๋ฅผ ๋ชจ๋ 0์ผ๋ก ๋ฐ๊พธ์ด์ค๋ค.
- 3์ ์์์ด๋ฏ๋ก, 3์ ์ ์ธํ 3์ ๋ฐฐ์๋ฅผ ๋ชจ๋ 0์ผ๋ก ๋ฐ๊พธ์ด์ค๋ค.
- 5๋ ์์์ด๋ฏ๋ก, 5๋ฅผ ์ ์ธํ 5์ ๋ฐฐ์๋ฅผ ๋ชจ๋ 0์ผ๋ก ๋ฐ๊พธ์ด์ค๋ค.
- 7์ ์์์ด๋ฏ๋ก, 7์ ์ ์ธํ 7์ ๋ฐฐ์๋ฅผ ๋ชจ๋ 0์ผ๋ก ๋ฐ๊พธ์ด์ค๋ค.
- 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
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] [์นด์นด์ค ์ธํด] ํคํจ๋ ๋๋ฅด๊ธฐ (abs()) (0) | 2021.04.06 |
---|---|
[Algorithm] ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (์ ํด๋ฆฌ๋ ํธ์ ๋ฒ) (0) | 2021.04.05 |
[Algorithm] N์ผ๋ก ํํ (๊น์ด ์ฐ์ ํ์(DFS)) (0) | 2021.03.19 |
[Algorithm] ๋๋จธ์ง ํ ์ (ternary(?:), XOR(^), map) (0) | 2021.03.19 |
[Algorithm] ์๋ฆฟ์ ๋ํ๊ธฐ (map, reduce) (0) | 2021.03.19 |
- Total
- Today
- Yesterday
- calendar
- ๋ฌ๋ ฅ
- Algorithm
- programmers
- Firebase
- Kakao
- IOS
- TIL
- Git
- ์ต๋๊ณต์ฝ์
- BOJ
- mysql
- ํ๋ก๊ทธ๋๋จธ์ค
- iTunes Search API
- ๊น์ด ์ฐ์ ํ์
- java
- ๋ณ์ก
- SWIFT
- Baekjoon
- DFS
- sql
- ternary
- abs()
- UISearchController
- ์ต์๊ณต๋ฐฐ์
- map
- ์๋กํ ์คํ ๋ค์ค์ ์ฒด
- ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- compactMap
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |