8월 30일(수) - 그리디 알고리즘 (1449번)
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
문제점
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
풀이
(C언어 풀이 활용)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
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 N = Integer.parseInt(st.nextToken());
int L = Integer.parseInt(st.nextToken());
int[] leak_point = new int[N];
st = new StringTokenizer(br.readLine());
for(int i=0; i<N; i++)
{
leak_point[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(leak_point);
int tape = 1;
int start = leak_point[0];
for(int i=1; i<N; i++)
{
if(leak_point[i] - start < L)
{
continue;
}
else
{
tape++;
start = leak_point[i];
}
}
System.out.println(tape);
}
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
'백준(Java) > 23년 8월' 카테고리의 다른 글
[Java] 백준 - 11404번: 플로이드 (0) | 2023.08.31 |
---|---|
[Java] 백준 - 11279번: 최대 힙 (0) | 2023.08.29 |
[Java] 백준 - 2565번: 전깃줄 (0) | 2023.08.28 |
[Java] 백준 - 2583번: 영역 구하기 (0) | 2023.08.25 |
[Java] 백준 - 5639번: 이진 검색 트리 (0) | 2023.08.24 |
댓글