개발자를 향해...
백준 - 1449 수리공 항승 (java) 본문
728x90
반응형
https://www.acmicpc.net/problem/1449
위치를 LinkedList로 받아 Collection.sort로 정렬한 후 for문을 통해 각 값에 대해 위치+0.5의 값을 마지막 테이프의 오른쪽 위치 값과 비교해가며 위치+0.5가 더 클 경우 새로운 테이프를 왼쪽에 붙여주며 마지막 테이프의 오른쪽 위치 값을 갱신해나간다.
package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
public class 수리공항승1449 {
public static void main(String[] args) throws IOException {
int n , tapelength;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] t = br.readLine().split(" ");
n = Integer.parseInt(t[0]);
tapelength = Integer.parseInt(t[1]);
LinkedList<Integer> points = new LinkedList<>();
t = br.readLine().split(" ");
for(int i =0; i<n; i++){
points.add(Integer.parseInt(t[i]));
}
Collections.sort(points);
int count =0;
double left =1000; double right = 0;
for (int i:points) {
double tl = i-0.5;
double tr = i+0.5;
if(right<tr){
count++;
left = tl;
right = tl+tapelength;
}
}
System.out.println(count);
}
}
반응형
'코테 공부' 카테고리의 다른 글
백준 -9465 스티커 (java) (0) | 2022.04.23 |
---|---|
백준 - 14503번 로봇청소기 (java) (0) | 2022.04.23 |