https://www.acmicpc.net/problem/1978
소수는 1과 자기자신만을 약수로 갖는 수입니다. 그래서 자기 자신보다 낮은 자연수로 나머지 연산을 했을때 나머지가 0이 나오면 다른 약수를 갖는 것입니다. 이것을 예외처리해서 풀었습니다.
_ = readLine()!
let input = readLine()!
let array = input.split(separator: " ").map{Int($0)!}
var decimalCount = 0
for i in array {
var count = 0
if i > 1 {
for j in 2..<i {
if i % j == 0 { // 소수아님
count+=1
break
}
}
if count == 0 {
decimalCount+=1
}
count = 0
}
}
print(decimalCount)