이분탐색으로 풀었다.
위의 예제에서 -99 -2 -1 4 98 이 주어질 때,
-99와 더해서 0이 되려면 99라는 수가 필요하다. 그러면 -99 보다 오른쪽에 있는 -2 1 4 98 중에서 이분탐색을 이용하여 99와 가장 가까운 수를 찾아서 -99와 더한다. -> -99 + 98 = -1
그 다음, -2와 더해서 0이 되려면 2라는 수가 필요하다. -2보다 오른쪽에 있는 1 4 98 중에서 이분탐색을 통해 2와 가장 가까운 수를 찾아서 -2와 더한다. -> -2 + 4 = 2
-1과 더해서 0이 되려면 1이라는 수가 필요하다. 1보다 오른쪽에 있는 4 98 중에서 이분탐색을 통해
1과 가장 가까운 수를 찾아서 -1과 더한다. -> -1 + 4 = 3
-1, 2, 3 중에서 0과 가장 가까운 값은 -1이다.
그러므로 두 용액은 -99, 98이 된다.
소스코드 :
'BOJ' 카테고리의 다른 글
[백준 2234번] 성곽 (java) (0) | 2021.03.04 |
---|---|
[백준 9375번] 패션왕 신해빈 (java) (0) | 2021.03.03 |
[백준 2660번] 회장뽑기 (java) (0) | 2021.03.02 |
[백준 4358번] 생태학 (java) (0) | 2021.03.02 |
[백준 2343번] 기타 레슨 (java) (0) | 2021.03.01 |