A가 B보다 작을 때, A와 B가 각각 홀수, 짝수이고 1씩 떨어져 있으면 서로 대진한다는 뜻이다. 다른 조건은 사전에 염두에 두고 있었는데, 홀수, 짝수 조건을 생각지 못해 특정 케이스에서 실패하고 말았다. 코딩 테스트를 할 때 테스트 케이스를 내 나름대로 주고 해야 괜찮을 것 같다.
total = 0
if a > b: a, b = b, a
while(True):
if abs(b-a) == 1 and (a%2 == 1 and b%2 == 0): break
if a % 2== 0: a = a//2
else: a = (a//2)+1
if b % 2==0: b = b//2
else: b = (b//2)+1
total +=1
return total + 1