더북(TheBook)

# 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

 

 

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