백준 2581번: 소수(Swift)

https://www.acmicpc.net/problem/2581

 

2581번: 소수

M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.  단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

www.acmicpc.net

소수일시 배열에 넣어서 저장한다. 바로 전에 풀었던 문제와 딱히 다를게 없는 문제.

import Foundation

let m = Int(readLine()!)!
let n = Int(readLine()!)!
var list:[Int] = []
var count = 0
func findDemical(input: Int)->Int{
    if input == 1{
        return 0
    }
    for item in 2..<input {
        if input%item == 0 {
            return 0
        }
    }
    return 1
}

    for item in m...n{
        if findDemical(input: item) == 1 {
            list.append(item)
            count = 1
        }
}
if count == 0 {
    print(-1)
}else{
    print(list.reduce(0){$0+$1})
    print(list[0])
}