https://www.acmicpc.net/problem/1978
함수로 푸니 좀더 수월했다. 반복문을 끝까지 돌아서 나왔을 경우(소수)에는 1을 리턴, 중간에 0으로 나뉘면 0을 리턴 하게해 수가 저장된 배열에 소수와 아닌수를 구별 해 reduce로 합쳐서 출력했다.
import Foundation
var num = readLine()
var line = readLine()!.split(separator: " ").map({Int($0)!})
var count = 0
func calc(input: Int) -> Int {
if input == 1{
return 0
}
for item in 2..<input {
if input%item == 0 {
return 0
}
}
return 1
}
let sum = line.map({calc(input: $0)}).reduce(0){$0+$1}
print(sum)
'Algorithm > 백준' 카테고리의 다른 글
백준 11653번: 소인수분해 (Swift) (0) | 2021.08.25 |
---|---|
백준 2581번: 소수(Swift) (0) | 2021.08.17 |
백준 20809번: 알파벳 찾기(Swift) (0) | 2021.07.09 |
백준 15650번 : N과 M(2) (0) | 2021.05.14 |
백준 15649번 : N과 M(1) (0) | 2021.05.14 |