정리

백준 2470번: 두 용액 본문

Programming/백준 BOJ

백준 2470번: 두 용액

H.J.Park 2020. 9. 8. 18:25

백준 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