νλ‘κ·Έλλ¨Έμ€ - kμ§μμμ μμ κ°μ ꡬνκΈ°
νλ‘κ·Έλλ¨Έμ€ - kμ§μμμ μμ κ°μ ꡬνκΈ°
λ¬Έμ μ€λͺ
https://school.programmers.co.kr/learn/courses/30/lessons/92335
νλ‘κ·Έλλ¨Έμ€
μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ λ§€μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ.
programmers.co.kr
λμ νμ΄
μλΌν μ€ν λ€μ€μ 체λ₯Ό μ΄μ©ν΄λ³΄κ³ , κ·Έλ₯ μ£Όμ΄μ§ μλ§νΌλ§ μμμ κ°μλ₯Ό μ°Ύμλ 보μμ§λ§ μκ°μ΄κ³Όκ° λ¬λ€.
μκ°ν΄λ³΄λ©΄ 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
}