[BOJ 2141] 우체국
1. 문제 : https://www.acmicpc.net/problem/2141
2. 풀이
전체 합의 반이 넘어가는 시점의 인덱스를 찾아주는 것이 관건...
3. 코드
package baekjoon;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class 우체국 {
public static void main(String[] args) {
Scanner scann = new Scanner(System.in);
int N = scann.nextInt();
long[][] arr = new long[N][2];
long sum=0;
long cnt=0;
for(int i=0;i<N;i++) {
arr[i][0] = scann.nextLong();
arr[i][1] = scann.nextLong();
cnt+=arr[i][1];
}
Arrays.sort(arr, new Comparator<long[]>() {
@Override
public int compare(long[] n1, long[] n2) {
if(n1[0]==n2[0]) return (int)(n1[1]-n2[1]);
return (int)(n1[0]-n2[0]);
}
});
for(int i=0;i<N;i++) {
sum+=arr[i][1];
if(sum>=(cnt+1)/2) {
System.out.println(arr[i][0]);
break;
}
}
}
}
'💻 Coding Problems Solving > Array | String | Loop' 카테고리의 다른 글
[BOJ 2870] 수학숙제 (0) | 2023.09.13 |
---|---|
[BOJ 24337] 가희와 탑 (0) | 2023.06.14 |
[프로그래머스] LV.2 연속 부분 수열 합의 개수 (자바 java) (0) | 2023.02.27 |
[프로그래머스] LV.2 귤 고르기 (자바 java) (0) | 2023.02.22 |
[프로그래머스] LV.2 영어 끝말잇기 (자바 java) (0) | 2022.12.01 |
최근댓글