문제: https://www.acmicpc.net/problem/2467
투 포인터로 해결할 수 있는 문제입니다.
주어진 용액을 오름차순 정렬한 후 start = 0, end = arr.size() - 1로 둔 뒤 절대값을 구하면서 탐색 범위를 좁혀갑니다.
arr[start] + arr[end] 값이 양수라면 end-- 을 해서 값을 줄이는 방향으로 이동
arr[start] + arr[end] 값이 음수라면 start++을 해서 값을 늘리는 방향으로 이동
위와 같이 start와 end를 조절하여 O(N)에 탐색을 완료할 수 있습니다.
코드: https://github.com/cotchan/algorithm/blob/main/BOJ/BOJ2467.java
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]1167번: 트리의 지름 (0) | 2022.04.28 |
---|---|
[BOJ]2473번: 세 용액 (0) | 2022.04.28 |
[BOJ]2252번: 줄 세우기 (0) | 2022.04.27 |
[BOJ]2342번: Dance Dance Revolution (0) | 2022.04.27 |
[BOJ]1766번: 문제집 (0) | 2022.04.27 |