정리
백준 2470번: 두 용액 본문
백준 2470번: 두 용액
- 리스트에 용액들의 특성값을 입력합니다.
- 리스트를 오름차순으로 정렬합니다.
- left = 0, right = N - 1로 설정하고 이분탐색을 위해 left < right 일 때까지 while문을 반복합니다.
i ) 두 용액의 특성값의 합이 0인 경우
- while문을 break하고 결과를 출력합니다.
ii) 두 용액의 특성값의 합이 음수인 경우
- 음의 특성값의 절댓값이 양의 특성값의 절댓값보다 크기 때문에 left += 1 을 통해 두 용액의 특성값의 합이 0에 가까워 질 수 있도록 합니다.
iii) 두 용액의 특성값의 합이 양수인 경우
- 양의 특성값의 절댓값이 음의 특성값의 절댓값보다 크기 때문에 right -= 1를 통해 두 용액의 특성값의 합이 0에 가까워질 수 있도록 합니다.
- 만약 두 용액의 특성값의 합의 절댓값이 기존의 answer의 절댓값보다 작은 경우 answer 에 새로운 값을 입력하고 al =left, ar = right 을 통해 index를 저장해 줍니다. min을 사용하게 되면 -2와 1을 비교했을 때 answer 에 -2 가 입력되고 이는 오답이기 때문에 절댓값을 활용합니다.
'Programming > 백준 BOJ' 카테고리의 다른 글
백준 1461번: 도서관 (0) | 2020.09.28 |
---|---|
백준 2473번: 세 용액 (0) | 2020.09.21 |
백준 1946번: 신입 사원 (0) | 2020.09.03 |
백준 2217번: 로프 (0) | 2020.09.03 |
백준 3079번: 입국심사 (0) | 2020.09.01 |
Comments