본문 바로가기
Algorithm

SwiftUI: 예상 대진표

by songmoro 2024. 3. 21.
728x90

프로그래머스 예상 대진표

 

대진표 상의 두 플레이어가 만나는 시점을 구하는 문제

 

a와 b가 일치할 때 까지 반으로 나눠서 그 횟수를 반환 하도록 구현

 

func solution(_ n:Int, _ a:Int, _ b:Int) -> Int {
    var a = a
    var b = b
    var count = 0
    
    while a != b {
        count += 1
        a = (a.isMultiple(of: 2) ? a : a + 1) / 2
        b = (b.isMultiple(of: 2) ? b : b + 1) / 2
    }
    
    return count
}

// N = 4
//    3
//  2   2
// 1 1 1 1
//    N    A    B    answer
//    8    4    7    3
728x90

'Algorithm' 카테고리의 다른 글

SwiftUI: 괄호 회전하기  (0) 2024.03.23
SwiftUI: 멀리 뛰기  (0) 2024.03.22
SwiftUI: N개의 최소공배수  (0) 2024.03.20
SwiftUI: 점프와 순간 이동  (1) 2024.03.19
SwiftUI: 연속 부분 수열 합의 개수  (0) 2024.03.18