본문 바로가기
Problem Solving

[Swift] 프로그래머스 k진수에서 소수 개수 구하기(lv. 2)

by DuncanKim 2023. 3. 31.
728x90

[Swift] 프로그래머스 k진수에서 소수 개수 구하기(lv. 2)

 

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/92335

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

2. 접근

 

 

 

3. 코드

import Foundation

func solution(_ n:Int, _ k:Int) -> Int {
    var radix = String(n, radix: k).split(separator: "0").filter({ $0 != "1" })
    for i in radix {
        if !isPrime(Int(i)!) {
            radix.remove(at: radix.firstIndex(of: i)!)
        }
    }
    return radix.count
}

func isPrime(_ num: Int) -> Bool {
    if num < 4 {
        return num == 1 ? false : true
    }
    for i in 2 ... Int(sqrt(Double(num))) {
        if num % i == 0 {
            return false
        }
    }
    return true
}
728x90

댓글