diff --git a/algorithms/binary_search/moomin/G1477.java b/algorithms/binary_search/moomin/G1477.java new file mode 100644 index 0000000..36c11f2 --- /dev/null +++ b/algorithms/binary_search/moomin/G1477.java @@ -0,0 +1,63 @@ +package binary_search.moomin; + +import java.io.*; +import java.util.*; + +public class G1477 { + static int N, M, L; + static int ans; + static int[] arr; + public static void main(String[] args) throws IOException { + + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + L = Integer.parseInt(st.nextToken()); + + // 현재 휴게소 + arr = new int[N+2]; + arr[0] = 0; + arr[1] = L; + st = new StringTokenizer(br.readLine()); + for(int i = 2; i M) { + left = mid + 1; + continue; + } + // count 가 M보다 작거나 같으면 + right = mid - 1; + ans = mid; + } + System.out.println(left); + } +} diff --git a/algorithms/binary_search/moomin/G20444.java b/algorithms/binary_search/moomin/G20444.java new file mode 100644 index 0000000..27580bf --- /dev/null +++ b/algorithms/binary_search/moomin/G20444.java @@ -0,0 +1,54 @@ +package binary_search.moomin; + +import java.io.*; +import java.util.*; + +/** + * 4번의 가위질로 9개의 조각 만들기 + * 1. 색종이는 직사각형이며, 색종이를 자를 때는 한 변에 평행하게 자른다. + * 2. 자르기 시작했으면, 경로 상의 모든 색종이를 자를 때까지 멈추지 않는다. + * 3. 이미 자른 곳을 또 자를 수 없다. + * + * 이분탐색: 가로 * 세로 = 색종이 조각 + */ + +public class G20444 { + static long N, K; + public static void main(String[] args) throws IOException { + + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + // N, K 입력받기 + N = Long.parseLong(st.nextToken()); + K = Long.parseLong(st.nextToken()); + + // 가로 * 세로 + long left = 0; + long right = N; + long count; + + while(left <= right){ + + long mid = (left + right) / 2; + + // 색종이 만들 수 있는지 탐색 + count = (mid + 1) * ((N - mid) + 1); + + if(count == K) { + System.out.println("YES"); + return; + } + + if(count > K) { + right = mid - 1; + continue; + } + left = mid + 1; + } + System.out.println("NO"); + } +} + + + diff --git a/algorithms/binary_search/moomin/G2470.java b/algorithms/binary_search/moomin/G2470.java new file mode 100644 index 0000000..271d151 --- /dev/null +++ b/algorithms/binary_search/moomin/G2470.java @@ -0,0 +1,63 @@ +package binary_search.moomin; + +import java.io.*; +import java.util.*; + +public class G2470 { + static int N; + static int[] arr; + static int ans = Integer.MAX_VALUE; + static int[] ansSolution = new int[2]; + + public static void main(String[] args) throws IOException { + + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + // N 입력받기 + N = Integer.parseInt(st.nextToken()); + + // 용액 입력받기 + arr = new int[N]; + st = new StringTokenizer(br.readLine()); + for(int i = 0; i