Algorithm/이분 탐색 3

BOJ#1300 K번째 수

BOJ#1300 K번째 수 * 문제https://www.acmicpc.net/problem/1300 * 풀이- N이 10^5일 때, N*N은 10,000,000,000 이므로 시뮬레이션하여 답을 구하는 것은 시간 내에 불가능합니다.- 문제를 해결하기 위한 아이디어는 다음과 같습니다. 1. 어떤 수 x가 있을 때, x-1 이하의 수의 개수가 K개 미만이고 x 이하의 수의 개수가 K개 이상인 경우우리가 찾는 K번째 수는 x 이다. 2. 즉, x는 x 이하의 수의 개수가 K개 이상이면서 가장 작은 수이다. 3. 위 조건을 만족하는 x를 이분 탐색을 통해 찾는다. , 그러면 x까지 수의 개수는 어떻게 찾을 수 있을까요? - N이 4일 때 1 2 3 42 4 6 83 6 8 124 8 12 16 i번째 행은 i의..

BOJ#2805 나무 자르기

BOJ#2805 나무 자르기 * 문제https://www.acmicpc.net/problem/2805 * 풀이이분 탐색 * 나의 코드 https://github.com/stack07142/BOJ/blob/694dfa1bdca47f2449d56ad95c47ba5fc7a371f6/BOJ%232805_EKO/src/Main.java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; /** * BOJ#2805 EKO 나무 자르기 * https://www.acmicpc.net/problem/2805 */ public class Main {..