일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 여행
- 버킷리스트
- ㅇ
- bytecode
- extends
- bytecode 분석
- Navigation Component
- Shared Elements
- javap
- 치유
- IMPLEMENT
- jvm
- Android
- 보안
- 취약점
- 회피
- 일상회피
- 일상탈출
- Recylcer
- HelloWorld
- Transition
- opcode
- 심리학
- static
- 여행계획
- abstract
- 보안취약점
- throws
- 심리여행
- Interface
Archives
- Today
- Total
패스트터틀
(Baekjoon) GreedyAlgorithm - (18) 수리공 항승 본문
https://www.acmicpc.net/problem/1449
오름차순으로 정렬후에 시작한다.(이거 안했다가 한번 틀렸다.)
복잡하게 생각할거 없이 왼쪽부터 차례대로 붙힌다고 생각하면 된다.
왼쪽부터 차례대로 붙히면서 테이프가 닿지 않으면 개수를 하나 추가하고
그다음거에서부터 다시 테이프를 붙힌다.
위의 과정처럼 너무 어렵게 생각했었지만 그냥 함정이였다. 이게 왜 그리디 알고리즘인지 모르겠다.
package GreedyAlgorithm;
import java.util.Arrays;
import java.util.Scanner;
public class _1449 {
static int leak[];
static int ck;
static int base;
static void check_leak(int L){
ck = L-1;
base = leak[0] + ck;
int min=0;
for (int i = 0; i < leak.length; i++) {
if(leak[i] > base){
base = leak[i] + ck;
min++;
}
}
System.out.println(min+1);
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int L = sc.nextInt();
leak = new int[N];
for (int i = 0; i < N; i++)
leak[i] = sc.nextInt();
Arrays.sort(leak);
// for (int i = 0; i < leak.length; i++) {
// System.out.print(leak[i]+ " ");
// }
check_leak(L);
sc.close();
}
}
백준문제풀이Github :
https://github.com/sdk0213/baekjoon-study
'Algorithm > baekjoon' 카테고리의 다른 글
(Baekjoon) GreedyAlgorithm - (20) 궁금한 민호 (0) | 2020.01.09 |
---|---|
(Baekjoon) GreedyAlgorithm - (19) 멀티탭 스케줄링 (0) | 2019.12.30 |
(Baekjoon) GreedyAlgorithm - (17) 저울 (0) | 2019.12.19 |
(Baekjoon) GreedyAlgorithm - (16) 병든 나이트 (0) | 2019.12.16 |
(Baekjoon) GreedyAlgorithm - (15) 한 줄로 서기 (0) | 2019.12.16 |
Comments