코딩 테스트
프로그래머스 - 예상 대진표
__sapar
2024. 8. 7. 14:34
a 와 b 가 2,3 4,5 이렇게 붙을 때에 예외처리를 해주어야한다.
#include <iostream>
using namespace std;
int solution(int n, int a, int b)
{
int answer = 0;
if(a<b)
{
while(true)
{
answer++;
if( (b - a) == 1 && (a %2 == 1 && b%2 == 0))
{
break;
}
if(a % 2 == 0 )
{
a = a * 0.5;
}
else
{
a = a* 0.5 + 1;
}
if(b % 2 == 0 )
{
b = b * 0.5;
}
else
{
b = b* 0.5 + 1;
}
}
}
else
{
while(true)
{
answer++;
if( (a - b) == 1&& (a %2 == 0 && b%2 == 1))
{
break;
}
if(a % 2 == 0 )
{
a = a * 0.5;
}
else
{
a = a* 0.5 + 1;
}
if(b % 2 == 0 )
{
b = b * 0.5;
}
else
{
b = b* 0.5 + 1;
}
}
}
return answer;
}