문제 풀이/99클럽
[99클럽] 21일차 TIL
동까의 코딩
2024. 6. 10. 16:10
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/43238
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
오늘의 문제는 이진탐색 문제입니다.
이진탐색에 대해서 알아보는 시간을 갖게 되었다.
mid 값을 정해주고 left, right의 범위를 계속해서 좁혀주는 방법이다.
def solution(n, times):
answer = 0
left, right = 1, max(times) * n
while left <= right:
mid = (left + right) // 2
people = 0
for time in times:
people += mid // time
if people >= n:
break
if people >= n:
answer = mid
right = mid - 1
elif people < n:
left = mid + 1
return answer
return answer
반응형