728x90

나의 풀이
def solution(n,a,b):
a, b = a - 1, b - 1
answer = 1
while n > 0:
a, b = a // 2, b // 2
if a == b:
break
answer += 1
return answer
- while의 조건을 a != b로 줄 수 있었을 듯
bitwise XOR를 사용한 풀이
def solution(n,a,b):
return ((a-1)^(b-1)).bit_length()
다른 풀이
def solution(n,a,b):
i = 0
while (a-1)//(2**i) != (b-1)//(2**i):
i += 1
return i
반응형
'Coding Test > Programmers' 카테고리의 다른 글
| [프로그래머스/파이썬] 후보키 (0) | 2022.06.16 |
|---|---|
| [프로그래머스/파이썬] 순위 검색 (0) | 2022.06.15 |
| [프로그래머스/파이썬] 게임 맵 최단거리 (0) | 2022.06.13 |
| [프로그래머스/파이썬] 빛의 경로 사이클 (0) | 2022.06.13 |
| [프로그래머스/파이썬] 튜플 (0) | 2022.06.13 |