티스토리 뷰
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를 사용
'Algorithm' 카테고리의 다른 글
[Swift 알고리즘] 프로그래머스 Lv1 키패드 누르기 (0) | 2021.04.27 |
---|---|
[Swift 알고리즘] 프로그래머스 Lv1 로또의 최고 순위와 최저 순위 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 음양 더하기 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 예산 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 두 개 뽑아서 더하기 (0) | 2021.04.27 |
댓글
공지사항