Youtube
์ ๊ฐ ์ง์ ์ ์ํ ์์์ ๋๋ค!
์์์ผ๋ก ๋ณด์๋ฉด ์ดํดํ์๊ธฐ ํจ์ฌ ์์ํ์ค๊ฑฐ์์!!
๋ฌธ์ ์ค๋ช
1๋ถํฐ ์ ๋ ฅ๋ฐ์ ์ซ์ n ์ฌ์ด์ ์๋ ์์์ ๊ฐ์๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ๋ง๋ค์ด ๋ณด์ธ์.
์์๋ 1๊ณผ ์๊ธฐ ์์ ์ผ๋ก๋ง ๋๋์ด์ง๋ ์๋ฅผ ์๋ฏธํฉ๋๋ค.
(1์ ์์๊ฐ ์๋๋๋ค.)
์ ํ ์กฐ๊ฑด
- n์ 2์ด์ 1000000์ดํ์ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
n | result |
10 | 4 |
5 | 3 |
ํ์ด: 1๋นผ๊ณ ์ฆ 2๋ถํฐ n๊น์ง ์ค ์ฐจ๋ก๋๋ก i๋ฅผ ๋์ ํ๊ณ i์ค์ 1ํ๊ณ ์๊ธฐ ์์ ์ ์ธํ ๋ค๋ฅธ ๊ฑธ๋ก ๋๋ ์ง๋ฉด continue ๋ฐ๊นฅ์ชฝ Loop๋ฅผ ํ๊ฒ ํ๋ค. ์ด๋ ๊ฒ ํ๋๋ ๋ง์ฝ 1๋ถํฐ 10000๊น์ง๋ผ๋ฉด 10000๋ฒ์ ๋ฐ๋ณตํ๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์์ฃผ ํจ์จ์ฑ์ด ์์ ๋ฟ๋๋ฌ ์๊ฐ์ด๊ณผ๊ฐ ๋๋ค.
์๋ฃจ์ 2
1
2
3
4
5
6
7
8
9
10
11
12
|
func solution2(_ n:Int) -> Int {
var total = 0
Loop :for i in 2...n {
for j in 2...i{
if i%j == 0 && j != i{
continue Loop
}
}
total += 1
}
return total
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
์ด๋ฐ ์์ผ๋ก ํ์ด์ผํ๋๋ฐ
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ์ด์ผ ํ๋ค.
๋ฐฉ๋ฒ์ ์ฐ์ Array์ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ํด์ค ๋ค ์์๋ค๊ฐ ์ ๋ถ false๋ฅผ ์ง์ด๋ฃ๋๋ค. n+1๋ก ํ๋ ์ด์ ๋ ๋ฐฐ์ด์ด 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ ๊ฒ ํ ๋ค 1๋นผ๊ณ 2๋ถํฐ n๊น์ง ์ค false์ธ ๊ฐ์ด ์๋ค๋ฉด ์นด์ดํธ๋ฅผ +1ํด์ค ๋ค i์ ๋ฐฐ์๋ฅผ ๋ชจ๋ true๋ก ๋ฐ๊ฟ์ค๋ค.
ํ๋ฒ์ ์ฐจ๋ก๋๋ก ์์์ ๋ฐฐ์๋ฅผ true๋ก ํด์ฃผ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
์ด๋ ๊ฒ ์ฐจ๋ก์ฐจ๋ก ์์๋ค์ ๋ฐฐ์๋ฅผ ์ฒด๋ก ๊ฑธ๋ฌ๋ด๋ ๋ฐฉ๋ฒ์ด ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ผ๋ ๊ฒ์ด๋ค.
๋ฐฐ์๋ฅผ ํ ๋ฒ์ ์์ ๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก for stride๊ตฌ๋ฌธ์ธ๋ฐ from์ ~๋ถํฐ through๋ ~๊น์ง by๋ ~์ฉ ๊ณ ๋ก ์์๋ถํฐ n๊น์ง ์์์ ๋ฐฐ์๋งํผ ๋ชจ๋ ํธ๋ฃจ๋ก ๋ฐ๊ฟ์ค๋ผ๋ ๊ฑฐ๋ค.
์๋ฃจ์ 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
func solution1(_ n: Int) -> Int {
var count = 0
var array = Array.init(repeating: false, count: n+1)
for i in 2...n {
if array[i] == false {
count += 1
for j in stride(from: i, through: n, by: i) {
array[j] = true
}
}
}
return count
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
์๊ฐ ๋น๊ต 10000์ ๋์ ํ์ ๋
์๋ผํ ์ค ํ ๋ค์ค์ ์ฒด๋ก ํผ ์๋ฃจ์ 1์ 0.2์ด๊ฐ ๊ฑธ๋ฆฌ๋ ๋ฐ๋ฉด
๊ทธ๋ฅ ๋ ธ๊ฐ๋ค ํ์์ผ๋ก ์ด ์๋ฃจ์ 2๋ 3์ด๊ฐ ๊ฑธ๋ฆฐ๋ค.
10๋ง์ ๋์ ํ์ ๊ฒฝ์ฐ
์๋ฃจ์ 1์ 2์ด
์๋ฃจ์ 2๋ 264์ด๊ฐ ๊ฑธ๋ฆฐ๋ค.
'๐ Problem Solution > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด์ ์ ์๋ก ๋ฐ๊พธ๊ธฐ Swift (0) | 2020.02.17 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์? Swift (0) | 2020.02.17 |
ํ๋ก๊ทธ๋๋จธ์ค ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ Swift (0) | 2020.02.16 |
ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ Swift (0) | 2020.02.16 |
ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ Swift (0) | 2020.02.14 |
๋๊ธ