본문 바로가기
코딩테스트/SWExpertAcademy

[Python] SWEA 4839 - 이진탐색

by Ssubini 2022. 4. 13.

[2022.02.15]

 

- 이진탐색으로 A,B가 원하는 페이지 누가 먼저 찾는지 구하는 문제

T = int(input())
def bs(s,e,find):
    cnt = 0
    while True:
        m = (s + e) // 2
        cnt += 1
        if m == find :
            return cnt
        elif m > find :
            e = m
        elif m < find :
            s = m


for tc in range(T):
    p,a,b = map(int,input().split())
    answera = bs(1,p,a)
    answerb = bs(1,p,b)

    if answera < answerb :
        print(f'#{tc+1} A')
    elif answera > answerb :
        print(f'#{tc + 1} B')
    else:
        print(f'#{tc + 1} 0')

댓글