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
- Proxy
- 프록시
- 호스팅
- Proxy Server
- floyd-warshall
- 싸피
- 플로이드 워셜
- 싸피 면접 후기
- 다익스트라
- 다익스트라 알고리즘
- Synchronization
- 세마포어와 뮤텍스
- 플로이드 와샬
- 삼성 청년 SW 아카데미
- 웹 호스팅
- 뮤텍스
- 최단 경로
- 싸피 합격
- 프록시서버
- 세마포어와 뮤텍스의 차이
- Dijkstra Algorithm
- SSAFY
- 세마포어
- 동기화
- 호스팅이란?
- 클라우드 서버
- 서버 호스팅
- 세마포어란?
- 뮤텍스란?
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
[백준][BOJ-2212][JAVA] 센서 본문
https://www.acmicpc.net/problem/2212
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int K = Integer.parseInt(br.readLine());
int[] sensorArr = new int[N];
Integer[] diffSensorArr = new Integer[N-1];
// 입력값
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i =0; i<N; i++) {
sensorArr[i] = Integer.parseInt(st.nextToken());
}
// 센서 오름차순 정렬
Arrays.sort(sensorArr);
// 센서간의 차이 구하기
for(int i=0; i<N-1; i++) {
diffSensorArr[i] = sensorArr[i+1] - sensorArr[i];
}
// 센서 차이를 구한 배열 오름 차순
Arrays.sort(diffSensorArr);
// diffSensorArr 배열에서 -(k+1) 만큼 까지 더하면 답! 때문에 N-K만큼
int sum = 0;
for(int i=0; i<N-K; i++) {
sum += diffSensorArr[i];
}
System.out.println(sum);
}
}
정리
처음 문제를 읽었을 때는 이해하기가 어려웠다.
문제를 찬찬히 읽어보면 "센서들은 이 직선 위의 한 기점인 원점으로부터의 정수 거리의 위치에 놓여 있다고 하자." 이 문구를 보고 예제를 값들을 나열해 보면
1 3 6 6 7 9이다. 그리고 기지국들을 설치해보면 1과 3 사이에 하나 6과 9 사이의 하나 설치하면 합이 5가 된다.
이를 토대로 위의 코드를 설명하자면!
1. 입력값들을 오름차순으로 정렬한다.
2. 각 센서들 마다 차이를 구한다. ( 수신 가능 영역의 거리의 합을 위해 )3. 그렇다면 이제 여기서 차이가 가장 큰 값을 집중국 - 1 만큼 빼면 된다 즉 각 센서들의 차이를 배열을 정렬해서 N-K만큼 다 더하면 된다!끝!
'알고리즘 > 백준(BOJ)' 카테고리의 다른 글
[백준][BOJ-14719][자바] 빗물 (0) | 2021.06.28 |
---|---|
[백준][BOJ-2812][JAVA] 크게 만들기 (0) | 2021.06.05 |
[백준][BOJ-1238][JAVA] 파티 (0) | 2021.06.04 |
[백준][BOJ-8980][JAVA] 택배 (0) | 2021.06.03 |
[백준][BOJ-11000][JAVA] 강의실 배정 (0) | 2021.06.02 |
Comments