2470번: 두 용액
첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00
www.acmicpc.net
package 백준.자바.두용액_2470;
import java.io.*;
import java.util.*;
public class Main {
private int a, b, p, q, k;
public void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
k = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int[] arr = new int[k];
for(int i = 0 ; i < k; i++)
arr[i] = Integer.parseInt(st.nextToken());
Arrays.sort(arr);
p = 0;
q = k-1;
int min = Integer.MAX_VALUE;
// 탐색
while(p < q){
int sum = arr[p] + arr[q];
if(min > Math.abs(sum)){
min = Math.abs(sum);
a = arr[p];
b = arr[q];
}
if(sum > 0) q--;
else if(sum < 0) p++;
else{
a = arr[p];
b = arr[q];
break;
}
}
System.out.println(a + " " + b);
br.close();
}
public static void main(String[] args) throws Exception{
new Main().solution();
}
}
'문제풀이 > 백준' 카테고리의 다른 글
주지수 15724 Java (1) | 2024.01.19 |
---|---|
미로탈출 14923 Java (0) | 2024.01.18 |
부분합 1806 Java (0) | 2024.01.18 |
용액 2467 Java (1) | 2024.01.18 |
줄세우기 2252 Java (0) | 2024.01.17 |