티스토리 뷰

programmers.co.kr/learn/courses/30/lessons/12977?language=swift

나의 풀이

 

import Foundation
 
func solution(_ nums:[Int]) -> Int {
 
    var sums = [Int]()
 
    for i in 0..<nums.count-2 {
        for j in i+1..<nums.count {
            for k in j+1..<nums.count {
                sums.append(nums[i] + nums[j] + nums[k])
            }
        }
    }
 
    var count: Int = 0
    for i in 0..<sums.count {
        var isPrime = true
        for j in 2..<sums[i] {
            if sums[i]%j == 0 {
                isPrime = false
                break
            }
        }
        count += isPrime ? 1:0
    }
    return  count
}

다른 사람의 풀이

import Foundation
 
func solution(_ nums:[Int]) -> Int {
 
 
    var sums = [Int]()
 
    for i in 0..<nums.count-2 {
        for j in i+1..<nums.count {
            for k in j+1..<nums.count {
                sums.append(nums[i] + nums[j] + nums[k])
            }
        }
    }
 
    return  sums.filter{isPrime($0)}.count
}
 
 
 
func isPrime(_ n:Int) -> Bool {
    for i in 2..<n {
        if n%i == 0 {
            return false
        }
    }
    return true
}
 

배울 점

1. 함수를 만들어서 사용

2. filter를 사용

댓글
공지사항