5W.5D-이진 탐색

Dazz_heyDay ·2021년 7월 30일
1

Python) Algorithm_study

목록 보기
28/39

✏️문제[정수 제곱근]

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


n=int(input())
print(int(n**0.5)+1 
if n**0.5%1!=0 
else int(n**0.5))

n = int(input())
s, e = 0, int((2**63)**0.5)+1
res = 0
while s <= e:
    m = (s+e)//2
    if m**2 >= n:
        res = m
        e = m-1
    else:
        s = m+1
print(res)

✏️문제[이상한 술집]

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

N, K = map(int, input().split())
vol_li = [int(input()) for _ in range(N)]
s, e = 1, max(vol_li )
Max_ml = 0
while s <= e:
    m = (s+e)//2
    t = sum(n//m for n in vol_li)
    if t >= K:
        Max_ml = m
        s = m+1
    else:
        e = m-1
print(Max_ml)

✏️문제[도토리 숨기기]


profile
Why.Not.Now

3개의 댓글

comment-user-thumbnail
2021년 7월 31일

정수 제곱근 문제에 다양한 코드 알아갑니다!! 복습할때 참고하려고요! 역시나 어려웠던 이번주도 정말 수고 많으셨습니다~~

답글 달기
comment-user-thumbnail
2021년 8월 1일

안녕하세요, 김덕우입니다! 이상한 술집 문제를 풀었었는데, 왠지 파파파이썬 님의 코드가 더 이해가 잘 되네요!! 많이 배워 갑니다. 이번주도 수고하셨습니다!!

답글 달기
comment-user-thumbnail
2021년 8월 1일

안녕하세요 알고리줌입니다!
문제만 풀고 올린줄 알았는데 금요일걸 안올렷내ㅔ요..!
복습 올리려다가 알아차렸습니다. 늦게 올려 죄송합니다..😭
이진탐색주 수고많으셨습니다!

답글 달기