나의 코드
- 조합을 사용하여 세개의 수를 뽑고 소수 판별을 해주었다.
- 소수는 2부터 n-1까지 어떤 정수로도 나뉘어지면 안됨.
import Foundation
var answer = 0
func getPrimeNum(_ combination: [Int]){
var sum = combination.reduce(0){ $0 + $1 }
var flag = false
for i in 2...sum-1{
if sum % i == 0{
flag = true
break
}
}
if !flag{
answer += 1
}
}
func dfs(_ nums:[Int], _ combination: [Int], _ count: Int, _ start: Int){
if count == 3{
getPrimeNum(combination)
return
}else{
for i in start+1..<nums.count{
var arr = combination
arr.append(nums[i])
dfs(nums, arr, count+1, i)
arr.removeLast()
}
}
}
func solution(_ nums:[Int]) -> Int {
for i in 0..<nums.count{
dfs(nums, [nums[i]], 1, i)
}
return answer
}