# weigh( ) 함수(저울질)를 이용하여

    # left에서 right까지에 놓인 가짜 동전의 위치를 찾아냄

    def find_fakecoin(left, right):

        for i in range(left + 1, right + 1): # left + 1부터 right까지 반복

            # 가장 왼쪽 동전과 나머지 동전을 차례로 비교

            result = weigh(left, left, i, i)

            if result = = -1:   # left 동전이 가벼움(left 동전이 가짜)

                return left

            elif result = = 1:  # i 동전이 가벼움(i 동전이 가짜)

                return i

            # 두 동전의 무게가 같으면 다음 동전으로

     

        # 모든 동전의 무게가 같으면 가짜 동전이 없는 예외 경우

        return -1

     

    n = 100     # 전체 동전 개수

    print(find_fakecoin(0, n - 1))

     

    icon_result 실행 결과

     

    29

     

     

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.