[TIL] 백준 13702 - 이상한 술집 ( python )
·
TIL
📌 문제 탐색하기N : 막걸리 주전자 개수 ( 1 ≤ N ≤ 10,000)K : 친구 수 ( N ≤ K ≤ 1,000,000 )막걸리 용량 : 0 ≤ 용량 ≤ 2³¹ - 1 K명의 사람에게 각 주전자의 막걸리를 섞지 않고 동일한 용량(x ml)씩 나눠주려고 할 때, 가능한 용량(x)의 최댓값을 구하는 것이 핵심입니다.가능한 시간복잡도이분탐색각 주전자마다 serving 가능한 개수를 계산 → O(N)가능한 용량(x)의 범위는 1부터 max(rice_wines) (최대 약 2³¹)까지 → 대략 O(log(max(rice_wine)))총 시간 복잡도 : O(N × log(max(rice_wine)))N 최대 10,000, max(rice_wine)가 2³¹ 정도이므로, log(2³¹) = 약 31회 정도 반..
[TIL] 99클럽 코테 스터디 23일차 TIL + 오늘의 학습 키워드
·
TIL
* 오늘의 학습 키워드 : 이분탐색(Binary Search) - 정렬된 배열이나 리스트에서 특정 값을 찾을 때 사용하는 알고리즘, 반으로 나누는 전략을 사용하여 검색 범위를 좁혀나간다.핵심 개념시작 인덱스와 끝 인덱스를 설정하고 중간 인덱스를 계산합니다. 중간 인덱스의 값과 결과값을 비교합니다.일치 : 인덱스를 반환작다 : 중간 인덱스 값이 결과값보다 작으면, 오른쪽 절반에 있으므로 low = mid + 1로 설정크다 : 중간 인덱스 값이 결과값보다 크면, 왼쪽 절반에 있으므로 high = mid - 1로 설정Lower Bound 접근법 : 특정 값 이상이 처음 나타나는 위치를 찾는 이분 탐색Upper Bound 접근법 : 특정 값보다 큰 값이 나타나는 위치를 찾는 이분 탐색* leetcode 10..