본문 바로가기
알고리즘

[Swift] 백준 1978번 소수 찾기

by 고고 2022. 3. 18.

링크: https://www.acmicpc.net/problem/1978

 

1978번: 소수 찾기

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

www.acmicpc.net

 

 

[Swift] 소수 판별 알고리즘을 참고해주세요.

 

import Foundation

let N = Int(readLine()!)!
let array = readLine()!.split(separator: " ").map { Int(String($0))! }

func isPrime(x: Int) -> Bool {
    if x == 1 { return false }
    if Int(sqrt(Double(x))) <= 1 { return true }
    
    for i in 2...Int(sqrt(Double(x))) {
        if x % i == 0 {
            return false
        }
    }
    return true
}

var result = 0

for a in array {
    if isPrime(x: a) {
        result += 1
    }
}

print(result)

댓글