새소식

인기 검색어

프로그래머스/Lv.0

[Swift] 유한소수 판별하기

  • -
import Foundation

func gcd(_ a: Int, _ b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return gcd (b, a % b)
    }
    
}

func primefactor(_ n:Int) -> Set<Int> {
    var n = n
    var prime = 2
    var result = Set<Int>()
    
    while n >= prime {
        if n % prime == 0 {
            n /= prime
            result.insert(prime)
        } else {
            prime += 1
        }
    }
    return result
}


func solution(_ a:Int, _ b:Int) -> Int {
    
    let gcdAB = gcd(a,b)
    let a = a / gcdAB
    let b = b / gcdAB
    
    if b == 1 {
        return 1
    }
    
    return b == 1 ? 1 : primefactor(b).isSubset(of: [2,5]) ? 1 : 2
}

'프로그래머스 > Lv.0' 카테고리의 다른 글

[Swift] 인덱스 바꾸기  (0) 2023.01.05
[Swift] 이진수 더하기  (0) 2023.01.05
[Swift] 외계행성의 나이  (0) 2023.01.05
[Swift] 외계어 사전  (0) 2023.01.05
[Swift] 옹알이 (1)  (0) 2023.01.05
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.