https://school.programmers.co.kr/learn/courses/30/lessons/12977
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
try)
1. 순차적으로 완전 탐색하기 위해 첫번째, 두번째, 세번째 자리수 지정
ex) nums = [1,2,3,4]
첫번째 1 두번째 2 세번째 3
첫번째 1 두번째 2 세번째 4
첫번째 2 두번째 3 세번째 4
2. 3개의 수를 합해 sqrt 제곱근 메서드를 이용해 제곱근 까지의 약수의 개수가 몇개인지 파악
3. 약수의 개수가 1이면 1과 자기 자신이므로 소수임
import Foundation
func solution(_ nums:[Int]) -> Int {
var result = 0
for one in 0..<nums.count - 2{
var two = one
while two < nums.count - 2{
two += 1
var three = two
while three < nums.count - 1{
three += 1
let sum = nums[one] + nums[two] + nums[three]
let sqrtSum = sqrt(Double(sum))
var measure = 0 //약수
for i in 1...Int(sqrtSum){
if sum % i == 0{
measure += 1
}
}
if measure == 1{
result += 1
}
}
}
}
return result
}
'Swift랑 친해지기 > programmers 풀기' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭 (Swift) (0) | 2023.11.15 |
---|---|
[프로그래머스] 베스트앨범 (Swift) (1) | 2023.11.14 |
[프로그래머스] 기사단원의 무기 (Swift) (1) | 2023.10.31 |
[프로그래머스] 대충 만든 자판 (Swift) (0) | 2023.10.30 |
[프로그래머스] 뒤에 있는 큰 수 찾기 (Swift) (1) | 2023.10.12 |