본문 바로가기

# 02/Swift - CTP

[Swift] 코딩테스트 연습! Lv1. 소수 찾기

반응형
/* 소수 찾기

 - 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.
 
 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
 (1은 소수가 아닙니다.)

 제한 조건
 n은 2이상 1000000이하의 자연수입니다.
*/
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
}

func solution11(_ n:Int) -> Int {
    (2...n).filter{
        isPrime(num: $0)
    }.count
}
반응형