티스토리 뷰

 

 

14921번: 용액 합성하기

홍익대 화학연구소는 다양한 용액을 보유하고 있다.  각 용액은 -100,000,000부터 100,000,000사이의 특성 값을 갖는데, 같은 양의 두 용액을 혼합하면, 그 특성값은 두 용액의 특성값의 합이 된다. 당

www.acmicpc.net

 

 

문제풀이

 

두 개의 용액을 혼합하여 만들 수 있는 0에 가장 가까운 특성값을 찾는 문제다.

 

투 포인터 알고리즘으로 left는 첫 번째 인덱스부터, right는 마지막 인덱스부터 탐색해나간다.

최대 특성값은 200,000,000이므로 answer는 200,000,000으로 초기화해준다.

탐색을 하면서 answer보다 0에 가까운 특성값을 찾으면 갱신해준다.

 

sum이 0보다 작으면 a[left] 값이 더 커져야 하므로 left++,

sum이 0보다 크면 a[right] 값이 더 작아져야 하므로 right++해준다.

sum이 0일 경우에는 답을 찾은 것이기 때문에 바로 종료해주면 된다.

 

 

C++ 코드

 

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ 2467] 용액 C++  (0) 2021.07.22
[BOJ 2470] 두 용액 C++  (0) 2021.07.22
[BOJ 4779] 칸토어 집합 C++  (0) 2021.07.20
[BOJ 4256] 트리 C++/Kotlin  (0) 2021.07.20
[BOJ 2263] 트리의 순회 C++/Kotlin  (0) 2021.07.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함