본문 바로가기

이분탐색4

[DAY41] 99클럽 코딩테스트 JAVA 백준 두 용색 2470번 https://www.acmicpc.net/problem/2470🌘 문제 이해하기 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. (그 용액의 특성을 나타내는 하나의 정수가 주어져있다.)산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고,  알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 연구소에서는 같은 양의 두 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들려고 한다.산성 용액과 알칼리성 용액의 특성값이 주어졌을 때, 이 중 두 개의 서로 다른 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들어내는 두 용액을 찾아라전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다.용액의 특성값을 나타내는 .. 2025. 1. 17.
[DAY40] 99클럽 코딩테스트 JAVA 백준 기타 레슨 2343번 2343번: 기타 레슨 🚩 해당 문제는 이분탐색을 활용하여 풀 수 있다.이분탐색은 시작점 과 끝점을 설정하고 그 중간을 구하여 적절한 값을 찾아가는 방식이다. 시작점은 0 , 끝점은 문제에서 주어진 최대 값을 넣는것이 보통인데 해당 문제는 이렇게 풀면 안되는 문제여서 범위지정에 대해서 신중하게 생각을 해야한다. 🌘 문제 이해하기 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다.블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 강토는 M개의 블루레이에 모든 기타 강의 동영상을 녹화하기로 했다. 때, 블루레이의 크기(녹화 가능한 길이)를 최소로 하려고 한다. M개의 블루레이는 모두 같은 크기이어야 한다. 🌗문제 자세히보기한 블루레이의.. 2025. 1. 16.
[DAY38] 99클럽 코딩테스트 JAVA 백준 랜선자르기 1654번 https://www.acmicpc.net/problem/1654  백준 1954번 문제를 풀기 위해서는 이진탐색 을 활용하면 된다. 🌘 문제 이해하기박성원이 캠프 때 쓸 N개의 랜선을 만들어야 한다. 오영식은 자체적으로 K개의 랜선을 가지고 있다. (랜선의 길이는 제각각이다.)랜선을 모두 같은 길이로 만들고 싶기 때문에 오영식의 랜선을 잘라서 K 개의 랜선을 만들어야 한다.만들 수 있는 최대 랜선의 길이를 구하여라 🌗 문제 자세히보기 🚩랜선의 최대값 길이는 int 형식의 범위를 벗어난다.  그래서 랜선의 길이에 대해서는 long 형식으로 지정해줘야 한다.- int     :  -2,147,483,648 ~ 2,147,483,647- long  : -9223372036854775808 ~ 92233.. 2025. 1. 14.
[Day06]JAVA- 백준 2805번 나무자르기 https://www.acmicpc.net/problem/2805 백준 2805번을 풀기 위해서는 이분탐색을 활용해야한다.  문제는 이분탐색 유형 중 간단한 편인다. 절단기의 최대 높이를 구하면 되는 것이다.  - N : 나무의 수 - M :  집에 가져가고자 하는 나무의 길- mid : 절단기의 높이 나무들의 높이는  입력 받은 나무의 수(N) 으로 배열을 생성해준다 .int[] tree = new int[N]; 범위를 지정할때 left : 0 , right 는 입력받은 나무의 최대 높이로 지정해 주면 된다. for(int i=0;i 원하는 나무의 길이만큼 딱 맞아 떨어지는 경우도 있지만 아닌 경우도 생각해서 자른 나무의 길이의 합은 M 보다 크거나 같아야 한다.  - tot : 잘린 나무들의 길이 합.. 2024. 11. 2.