본문 바로가기
알고리즘/SWEA

[파이썬] [SWEA] 4839. [파이썬 S/W 문제해결 기본] 2일차 - 이진탐색

by SBOX Learning by doing 2021. 2. 20.
반응형

swexpertacademy.com/main/learn/course/subjectList.do?courseId=AVuPDN86AAXw5UW6

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

1. normal 

T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):

    P, Pa, Pb = map(int, input().split()) # 전체 쪽 수: P 각각찾을 쪽수 a, b
    def cent(P,Pa):
        start = 1
        end = P
        count = 1

        center = (start + end) // 2

        while center != Pa:
            count += 1
            if center < Pa:
                start = center
            else:
                end = center
            center = (start + end) // 2

        return count
    if cent(P, Pa) < cent(P, Pb):
        print('#{} A'.format(test_case))
    elif cent(P, Pa) == cent(P, Pb):
        print('#{} 0'.format(test_case))
    else:
        print('#{} B'.format(test_case))
반응형

댓글