Hikenny25

2일차 - 이진탐색 본문

SW Expert Academy/Programming - Intermediate

2일차 - 이진탐색

hikenny 2023. 12. 9. 09:17
def count_binarysearch(page, object):
    left = 1
    right = page

    cnt = 0
    while(left <= right):
        middle = (left + right) // 2
        if middle == object:
            return cnt
        elif middle > object:
            right = middle
        else:
            left = middle
        cnt += 1
    return -1

t = int(input())
answer = list()

for _ in range(t):
    p, pa, pb = map(int, input().split())

    cpa = count_binarysearch(p, pa)
    cpb = count_binarysearch(p, pb)

    if cpa > cpb:
        answer.append('B')
    elif cpa < cpb:
        answer.append('A')
    else:
        answer.append('0')

for i in range(t):
    print(f"#{i+1} {answer[i]}")

 

간단한 이진탐색 구현 문제였다..

오랜만에 구현하는데 감 잡는 좋은 문제인듯!

'SW Expert Academy > Programming - Intermediate' 카테고리의 다른 글

3일차 - 문자열 비교  (0) 2023.12.09
2일차 - 특별한 정렬  (0) 2023.12.09
2일차 - 부분집합의 합  (1) 2023.12.08
2일차 - 색칠하기  (1) 2023.12.08
1일차 - 구간합  (1) 2023.12.08
Comments