[프로그래머스/C++]Lv.2 - 예상 대진표

YH J·2023년 6월 26일
0

프로그래머스

목록 보기
137/168

문제 링크

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

내 풀이

a, b가 속해있는 조를 구해가면서 같아질 경우까지 반복한다.
나는 1,2는 1조 라는 가정하에 홀수일경우 /2 +1 하고 짝수는 /2 하였다.

내 코드

#include <iostream>

using namespace std;

int solution(int n, int a, int b)
{
    int answer = 0;
    
    while(a != b)
    {
        if(a%2)
        {
            a/=2;
            a++;
        }
        else
            a/=2;
        if(b%2)
        {
            b/=2;
            b++;
        }
        else
            b/=2;
        answer++;
    }
    
    return answer;
}

다른 사람의 풀이

#include <iostream>

using namespace std;

int solution(int n, int a, int b)
{
    a--;
    b--;
    int answer=0;
    while(a!=b){
        a=a/2;
        b=b/2;
        answer++;
    }
    return answer;
}

다른 사람의 풀이 해석

일단 a, b를 --해서 0부터 시작하도록 만들고 조도 0조부터 시작하게 해서
홀수나 짝수 구분 없이 그냥 /2 해가면서 answer++했다.

profile
게임 개발자 지망생

0개의 댓글