이분 탐색

    [python] 백준 - 2110.  공유기 설치

    [python] 백준 - 2110. 공유기 설치

    🤔문제 해결 S2 | 이분탐색 특정 범위 안에서 개수를 정한다? => 이분 탐색 공유기를 설치할 수 있는 최소간격과 최대간격의 중간값부터 시작 중간값(공유기 설치 간격)으로 공유기를 설치 했을 때 설치한 공유기가 부족하면 설치 간격을 좁혀서 더 많이 설치하자 설치한 공유기가 많거나 같으면 설치한 간격을 늘려서 덜 설치하거나 최대로 간격을 늘려보자 💻소스 코드 import sys N, C = map(int, input().split()) house = [int(sys.stdin.readline()) for _ in range(N)] # 정렬 house.sort() # 와이파이 간격을 얼마나 해야할지 모르니 최대거리와 최소거리의 중간부터 시작 left = 1 right = house[-1] - house[0..

    [python] 백준 - 2343. 기타 레슨

    [python] 백준 - 2343. 기타 레슨

    🤔문제 해결 S1 | 이분 탐색 이분 탐색 문제는 무엇을 탐색 할 것인지가 가장 중요합니다. 이 문제에서는 블루레이의 최소 크기 를 찾아야 합니다. 처음에 각각의 블루레이에 레슨들을 순서대로 담아야 합니다. 블루레이의 크기가 11라고 가정해 보겠습니다. 그렇게 되면 레슨들의 합이 11을 넘어서는 안됩니다. 그럼 아래와 같은 결과를 얻을 수 있습니다. 총 5개의 블루레이에 담아야 합니다. 테스트 케이스에서는 3개에 담으라고 했으니 답이 될 수 없습니다. 그렇다면 블루레이 크기를 늘려서 한 블루레이에 좀 더 많이 담아야 겠다는 생각을 할 수 있습니다. 15라고 가정해 보겠습니다. 총 4개의 블루레이에 담았습니다. 하지만 여전히 블루레이 개수가 많습니다. 블루레이의 크기를 더 늘려야 합니다. 만약 30으로 크..