반응형
- 알고리즘 분류 : greedy
- 사용 언어 : JAVA
- 문제 요점
- 집의 개수 n과 각 집의 위치를 입력받아 배열에 저장
- 집의 위치 배열을 오름차순으로 정렬
- 안테나는 모든 집까지 거리의 총합이 최소가 되도록 설치해야
- 거리 합을 최소로 만드는 위치는 중앙값이므로, 정렬된 배열의 중앙 인덱스를 선택
- 중앙값 위치를 출력하여 안테나 설치 위치 얻음
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 K = Integer.parseInt(st.nextToken());
int answer = 0;
int[] moneyType = new int[N];
for (int i = 0; i < N; i++) {
moneyType[i] = Integer.parseInt(br.readLine());
}
for (int i=N-1; i>=0; i--) {
int money = moneyType[i];
int count = K / money;
if (count > 0) {
K -= (money * count);
answer += count;
}
if (K == 0) {
break;
}
}
System.out.println(answer);
}
}
반응형
'Algorithm' 카테고리의 다른 글
[BAEKJOON] 11047번 : 동전(0) (JAVA) (0) | 2025.05.17 |
---|---|
[PROGRAMMERS] 서버 증설 횟수 (JAVA) (0) | 2025.05.11 |
[PROGRAMMERS] 서버 증설 횟수 (JAVA) (0) | 2025.05.10 |
[BAEKJOON] 13032번 : ABCDE(JAVA) (1) | 2025.05.06 |
[BAEKJOON] 14940번 : 쉬운 최단거리 (JAVA) (1) | 2025.05.05 |
반응형
- 알고리즘 분류 : greedy
- 사용 언어 : JAVA
- 문제 요점
- 집의 개수 n과 각 집의 위치를 입력받아 배열에 저장
- 집의 위치 배열을 오름차순으로 정렬
- 안테나는 모든 집까지 거리의 총합이 최소가 되도록 설치해야
- 거리 합을 최소로 만드는 위치는 중앙값이므로, 정렬된 배열의 중앙 인덱스를 선택
- 중앙값 위치를 출력하여 안테나 설치 위치 얻음
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 K = Integer.parseInt(st.nextToken());
int answer = 0;
int[] moneyType = new int[N];
for (int i = 0; i < N; i++) {
moneyType[i] = Integer.parseInt(br.readLine());
}
for (int i=N-1; i>=0; i--) {
int money = moneyType[i];
int count = K / money;
if (count > 0) {
K -= (money * count);
answer += count;
}
if (K == 0) {
break;
}
}
System.out.println(answer);
}
}
반응형
'Algorithm' 카테고리의 다른 글
[BAEKJOON] 11047번 : 동전(0) (JAVA) (0) | 2025.05.17 |
---|---|
[PROGRAMMERS] 서버 증설 횟수 (JAVA) (0) | 2025.05.11 |
[PROGRAMMERS] 서버 증설 횟수 (JAVA) (0) | 2025.05.10 |
[BAEKJOON] 13032번 : ABCDE(JAVA) (1) | 2025.05.06 |
[BAEKJOON] 14940번 : 쉬운 최단거리 (JAVA) (1) | 2025.05.05 |