티스토리 뷰

https://programmers.co.kr/learn/courses/30/lessons/12985

 

코딩테스트 연습 - 예상 대진표

△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N

programmers.co.kr

 

[프로그래머스][C++] 예상 대진표

 

승리하면서 새로 배정받는 번호 규칙을 찾으면 된다.

숫자 a와 b의 배정 번호가 1로 같으면 토너먼트 종료.

 

#include <iostream>

using namespace std;

int solution(int n, int a, int b) {
	int answer = 0;

	while (a != b) {
		a = (a + 1) / 2;
		b = (b + 1) / 2;
		answer++;
	}

	return answer;
}
댓글