포스트

214. 소수 만들기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import Foundation

func getPrime(_ number : Int) -> Int {
    
    var result : Int = 0
    var i : Int = 1
    
    while i <= number{
        if number%i == 0 {    
            result += 1
        }
        i += 1
    }
    
    return result
}

func solution(_ nums:[Int]) -> Int {
    var answer = 0
    
    
    for i in 0..<nums.count-2 {
        for j in i+1..<nums.count-1 {
            for k in j+1..<nums.count {
                if getPrime(nums[i]+nums[j]+nums[k]) == 2{
                    answer += 1
                }
            }
        }
    }

    
    return answer
}

요새는 고차함수를 애매하게 쓰는것 보다 문제풀이에 집중을 하다보니. for문을 사용하였다.

그리고 코드가 길어질것같아 소수를 구하는 함수를 새로 만들어서 풀었다.

확실히 하나하나 걸러서 풀다보니 테스트시간이 만족스럽지가 않다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.