문제: https://programmers.co.kr/learn/courses/30/lessons/12985
코딩테스트 연습 - 예상 대진표
△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N
programmers.co.kr
첫번째 예시로 설명하면
0번째 라운드 = (1, 2) (3, 4) (5, 6) (7, 8) 이때 a = 4, b = 7
1번째 라운드 = (1, 2) (3, 4) 이때 a = (4 + 1) / 2 = 2, b = (7 + 1) / 2 = 4
2번째 라운드 = (1, 2) 이때 a = (2 + 1) / 2 = 1, b = (4 + 1) / 2 = 2
3번째 라운드 = () 이때 a = (1 + 1) / 2 = 1, b = (2 + 1) / 2 = 1 이므로 종료.
import Foundation
func solution(_ n:Int, _ a:Int, _ b:Int) -> Int {
var a = a
var b = b
var answer = 0
while a != b {
a = (a + 1) / 2
b = (b + 1) / 2
answer += 1
}
return answer
}
'알고리즘' 카테고리의 다른 글
[Swift] 프로그래머스 - 후보키 (0) | 2022.02.11 |
---|---|
[Swift] 프로그래머스 - 다단계 칫솔 판매 (0) | 2022.02.11 |
[Swift] 프로그래머스 - 카카오 튜플 (0) | 2022.02.11 |
[Swift] 프로그래머스 - 카카오 수식 최대화 (0) | 2022.02.11 |
[Swift] 프로그래머스 - 카카오 거리두기 확인하기 (0) | 2022.02.11 |
댓글