2022. 10. 18. 00:46ใํ๋ก๊ทธ๋๋จธ์ค-Swift
ํ๋ก๊ทธ๋๋จธ์ค - k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ
๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/92335
๋์ ํ์ด
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์ด์ฉํด๋ณด๊ณ , ๊ทธ๋ฅ ์ฃผ์ด์ง ์๋งํผ๋ง ์์์ ๊ฐ์๋ฅผ ์ฐพ์๋ ๋ณด์์ง๋ง ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค.
์๊ฐํด๋ณด๋ฉด 1,000,000์ ๋์ ์๊ฐ 3์ง์๋ก ๋ณํ๋์์ ๋ ํฌ๊ธฐ๋ ์๋นํ ํฌ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ ๋ถ ํ์ํ๋ฉด์ ์์๋ฅผ ๊ตฌํ๋ ๊ฒ์ ๋ค์ ๋ฌด๋ฆฌ๊ฐ ์์ ์ ์๋ค.
ํน์ ์๊ฐ ์์์ธ์ง ์๋์ง๋ฅผ ํ์ํ ๋๋ ์ ๊ณฑ๊ทผ๊น์ง๋ง ํ์ํ๋ฉด ์ ์ ์๋ค.
์๋ฅผ ๋ค์ด 12๋ผ๋ ์์ ์ฝ์๋ฅผ ์ดํด๋ณด๋ฉด 1, 2, 3, 4, 6, 12๊ฐ ์๋๋ฐ 12์ ์ ๊ณฑ๊ทผ์ธ Int(3.xx)์ 1์ ๋ํด 4๊น์ง๋ง ๋๋ฉด ์์์ธ์ง ์๋์ง ํ์ธํ ์ ์๋ค.(2๋ 6๊ณผ, 3์ 4์ ์ง์ง์ด์ง๊ธฐ ๋๋ฌธ)
import Foundation
func isPrime(_ num: Int) -> Bool {
if num <= 1 { return false }
for i in 2..<Int(sqrt(Double(num)))+1 {
if num % i == 0 {
return false
}
}
return true
}
func solution(_ n:Int, _ k:Int) -> Int {
let changeKnum = String(n, radix: k)
let numArr = changeKnum.split(separator: "0")
var cnt = 0
for x in numArr {
if isPrime(Int(x)!) {
cnt += 1
}
}
return cnt
}
'ํ๋ก๊ทธ๋๋จธ์ค-Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ก๋(Swift) (0) | 2022.10.18 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - n์ง์ ๊ฒ์(Swift) (0) | 2022.10.18 |
ํ๋ก๊ทธ๋๋จธ์ค - ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ(Swift) (0) | 2022.10.18 |
ํ๋ก๊ทธ๋๋จธ์ค - ์์ถ(Swift) (0) | 2022.10.18 |
ํ๋ก๊ทธ๋๋จธ์ค - ์คํ์ฑํ ๋ฐฉ(Swift) (0) | 2022.10.17 |