예상대진표

zzwwoonn·2022년 7월 12일
0

Algorithm

목록 보기
71/71

deque([1, 2, 3, 4, 5, 6, 7, 8]) 이렇게 큐에 넣어놓고 2개씩 pop해서 그게 a 또는 b 인지 보고? 맞으면 무조건 그거를 append, 아니면 둘 중 아무거나 append, 결국 마지막에 남는 2개가 a, b 일거라고 생각했다.

  1. A가 a 일수도 b 일수도 있다 반대로 B 가 a 일수도 b 일수도 있다.
  2. 시간이 터질 것이다. 2^20 이 최대인데 매번 이걸 다 돌면서 값을 봐야 하기 때문이다.

조금만 더 간단하게는 안될까?
굳이 값을 하나 하나 보지 않아도 되지 않을까?
뭔가 심플한 규칙이 있지 않을까? 중에 하나만 생각해봤으면 풀이 방법을 충분히 떠올릴 수 있는 문제였다.

결론은 규칙을 알게되면 너무 쉽게 풀리는 문제였다. 답지 풀이 보고 소리지를 뻔 했다.


def solution(n,a,b):
    answer = 0
    while a!=b:
        a= (a+1)//2
        b= (b+1)//2
        answer+=1
    return answer

0개의 댓글