본문 바로가기
Algorithm/프로그래머스

[프로그래머스]2017 팁스타운 : 예상 대진표 (level 2)(c++)

by HBGB 2020. 5. 24.

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>

using namespace std;

int solution(int n, int a, int b)
{
    int cnt = 0;
    // a = b가 되면 종료
    while (a != b)
    {
        // a와 b가 같지 않으면 대진
        ++cnt;

        // a 와 b의 다음 대진표 번호 구하기
        a = (a + 1) / 2;
        b = (b + 1) / 2;
    }

    return cnt;
}

 

대진표 그림을 그려서 게임이 돌아가는 대로 구현하면 된다.

댓글