Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- SpringBoot
- 프로그래머스
- 백준
- 14466
- jenkins
- documentationpluginsbootstrapper
- 20055
- 18222
- 알고리즘
- 소가길을건너간이유6
- 자바
- 2167. 2차원 배열의 합
- Java
- EC2
- Error fetching remote repo 'origin'
- CMD
- 이산수학
- 2108_통계학
- Eclipse
- 별자리 만들기
- Error
- 투에모스문자열
- dockercompose
- 설정
- 호석이두마리치킨
- 21278
- 이클립스
- docker
- to display the conditions report re-run your application with 'debug' enabled
- 날짜일수
Archives
- Today
- Total
계단을 오르듯이
17179. 케이크 자르기 본문
- 이분탐색의 기준이 최소의 최대 케이크 조각의 크기의 기준이 되었다.
- 이분탐색을 기준으로 최적의 크기를 찾으면 된다.
- 코드로 이해하는 것이 빠를 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | package september.fourweek; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B_17179_케이크자르기 { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st = new StringTokenizer(in.readLine(), " "); int N = Integer.parseInt(st.nextToken()); int M = Integer.parseInt(st.nextToken()); int L = Integer.parseInt(st.nextToken()); int[] point = new int[M + 1]; for (int i = 0; i < M; i++) { point[i] = Integer.parseInt(in.readLine()); } point[M] = L; // 마지막 좌표 입력 for (int i = 0; i < N; i++) { // 연산 시작 int cutNum = Integer.parseInt(in.readLine()); int result = 0; // 결과값 int left = 0; int right = L; int center = 0; while (left <= right) { int cnt = 0; // 조각 카운트 int prev = 0; // 맨 왼쪽 - 기준의 시작 좌표 center = (left + right) / 2; for (int j = 0; j <= M; j++) { // 범위 조심!! if (point[j] - prev >= center) { prev = point[j]; cnt++; } } if (cnt > cutNum) { result = Math.max(result, center); left = center + 1; } else right = center - 1; } sb.append(result + "\n"); } System.out.println(sb); } } | cs |
'알고리즘 > 백준_JAVA' 카테고리의 다른 글
17143. 낚시왕 (0) | 2022.01.06 |
---|---|
17144. 미세먼지 안녕! (0) | 2022.01.06 |
17406. 배열 돌리기 4 (0) | 2022.01.06 |
17472. 다리 만들기 2 (0) | 2022.01.06 |
20950. 미술가 미미 (0) | 2022.01.05 |