[백준] 1072번 게임 - 파이썬/이진탐색

JinUk Lee·2023년 1월 27일
0

백준 알고리즘

목록 보기
28/78

https://www.acmicpc.net/problem/1072


import sys

X,Y = map(int,sys.stdin.readline().split())


Z = int((100*Y/X))

start = 1
end = X
ans=0
while start <= end:

    if Z>=99:
        ans=-1
        break


    mid = (start+end)//2

    WinRate = int((100*(Y+mid)/(X+mid)))


    if WinRate == Z:

        start = mid+1

    else:
        ans = mid
        end = mid -1


print(ans)

입력의 숫자가 매우 크므로 반드시 sys로 입력을 받아야 한다.

이미 승률이 99%인 경우는 100%가 될 수 없다는 예외조건을 잘 생각해야한다.

profile
개발자 지망생

0개의 댓글