전공공부/코딩테스트

(c++) 프로그래머스 "예상 대진표"

시아나 2022. 4. 10. 13:48

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

 

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

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

programmers.co.kr


나의풀이

#include <iostream>
#include <cmath>

using namespace std;
int solution(int n, int a, int b)
{
    int answer = 0;
    while (a != b) {
        a = a % 2 == 0 ? a : a + 1;
        b = b % 2 == 0 ? b : b + 1;

        a = a / 2 == 0 ? 1 : a / 2;
        b = b / 2 == 0 ? 1 : b / 2;
        answer++;
    }
    return answer;
}