마음만 바쁜 사람
2110-공유기
ALGORITHM/BOJ 2022. 5. 3. 15:32

https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 이제까지 풀던 이분탐색 문제의 조오금 고급 버전..! 전체적인 구성은 이전의 문제들과 동일하지만 is_possible에서의 조건을 조금 더 구체적으로 분리해 주어야 한다. 사이트에 반례가 많이 없어서 예외처리를 해주는데 시간이 조금 걸렸다. 내 코드가 조금 더러운것 같기도.? 1. lo, hi, mid를 정할때, mid는 배열의 (최대-최소) /..

2512-예산
ALGORITHM/BOJ 2022. 4. 29. 18:33

https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 이분 탐색 중 파라매트릭 서치를 구현해보는 문제이다. 어렵게 생각하지 말고 기본적인 이분탐색 구현에 초점을 맞추면 쉽게 해결할 수 있다. 라이브러리를 불러와서 이분탐색 함수를 쓸 필요도 없다. 입력받은 예산들 중 가장 큰 값의 절반으로 중간점을 잡고 중간점과 각 예산 중 작은 값들을 더한 값이 예산 총액을 넘어가는지 확인하면서 이를 반복한다. N = int(input()) req = list..