Study/코딩 테스트

2021.2.18 [백준] 게임

NOredstone 2021. 2. 18. 14:51

이진 탐색 알고리즘

 

 

Q

 

www.acmicpc.net/problem/1072

 

1072번: 게임

김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시

www.acmicpc.net

 

A

 

이진 탐색 알고리즘을 사용하였다. 

 

코드

 

import sys
from math import floor

x, y = map(int, sys.stdin.readline().rstrip().split())

z = floor((y*100)/x) #내림

start = 0
end = 1000000000

if x == y or z == 99: #승률 100프로와 99프로는 변하지 않으므로 -1 출력
    print(-1)
else:
    while start <= end:
        mid = (start + end) // 2
        next_x, next_y = x+mid, y+mid
        if floor((next_y*100)/next_x) > z:
            end = mid - 1
        else:
            start = mid + 1
    print(end + 1)