마지막 4개 테스트케이스 실패.
36의 경우 5 이다.
규칙찾는 문제는 최소 50개는 해봐야하는것같다.
애초에 한 문장으로 끝나는 문제인데 괜히 어렵게 풀었다.
import Foundation
func sosuF(_ n:Int)->Int{
var sosu = 0
for num in (2...n){
if (n) % num == 0 {
sosu += 1
}
}
return sosu == 1 ? 1 : 0
}
func solution(_ n:Int) -> Int {
var sosu = 0
// for num in (2...n-1){
// if (n - 1) % num == 0 {
// sosu += 1
// }
// }
if 1 == sosuF(n-1) {
print("sosu")
return n - 1
}
if (n - 1) % 2 == 0 {return 2}
print(sqrt(Double(n-1)) * sqrt(Double(n-1)))
if sqrt(Double(n-1)) * sqrt(Double(n-1)) == Double(n-1) {
let val = Int(sqrt(Double(n-1)))
if sosuF(val) == 1 {
return val
}
}
if (n - 1) % 3 == 0 {return 3}
return 0
}
**
import Foundation
func sosuF(_ n:Int)->Int{
var sosu = 0
for num in (2...n){
if (n) % num == 0 {
sosu += 1
}
}
return sosu == 1 ? 1 : 0
}
func moks(int:Int)->Int{
for i in (2...1000000){
if int % i == 0 {
return i
}
}
return 0
}
func solution(_ n:Int) -> Int {
if n % 2 != 0 {
return 2
}
else {
if sosuF(n-1) == 1{
return n - 1
}
else {return moks(int:n-1)}
}
return 0
}