-
[Swift] 소수 판별Coding Test 2023. 11. 14. 23:32
func isPrime(_ number:Int) -> Bool { if number < 2 { return false } for i in 2...(number - 1) { if number % i == 0 { return false } } return true }
이 경우 시간 복잡도는 O(n)
-> 제곱근 까지만 확인해도 된다. (약수는 제곱근을 기준으로 대칭이므로)
import Foundation func isPrime(_ number:Int) -> Bool { if number < 2 { return false } for i in 2..<Int(sqrt(Double(number)) + 1) { if number % i == 0 { return false } } return true } print("\(isPrime(7))") //true
이 경우 시간 복잡도는 O(√n)
'Coding Test' 카테고리의 다른 글
정렬 알고리즘: 버블정렬, 선택정렬 (1) 2023.11.19 [Swift] 크기가 작은 부분 문자열 (0) 2023.11.15 [Swift] 내적 (0) 2023.11.12 [Swift] 음양 더하기 (0) 2023.11.06 [Swift] 추억 점수 (0) 2023.11.02