https://www.acmicpc.net/problem/1449
이 문제는 누수가 발생한 부분에 길이가 N인 테이프를 사용하여 조치할 때 필요한 최소의 테이프 개수를 출력하는 문제이다.
예제에서
4 2
1 2 100 101 은
길이가 2인 테이프이므로 누수 발생 지점인 1과 2, 100과 101 을 총 두 개의 테이프로 막을 수 있다.
코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int cnt=1;
int N = Integer.parseInt(st.nextToken());
int L = Integer.parseInt(st.nextToken());
int arr[] = new int[N];
st = new StringTokenizer(br.readLine());
for(int i=0;i<N;i++){
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
double range = arr[0]-0.5+L;
for(int i=0;i<N;i++){
if(arr[i]>range){
cnt++;
range = arr[i]-0.5+L;
}
}
System.out.println(cnt);
}
}
'알고리즘 > 백준 풀이(그리디)' 카테고리의 다른 글
백준 11501번 - 주식 (1) | 2024.02.03 |
---|---|
백준 2847번 - 게임을 만든 동준이 (1) | 2024.02.03 |
백준 1439번 - 뒤집기 (0) | 2024.01.26 |
백준 14916번 - 거스름돈 (0) | 2024.01.23 |
백준 1946번 - 신입 사원 (0) | 2024.01.19 |