728x90
세 용액의 합이 0과 가장 근사한 값을 찾아야 한다.
용액의 수가 5000 이하이기 때문에
최악일 경우 5000 * 2500 = 7500000의 연산을 계산하기 때문에
시간 복잡도에 대한 걱정 없이 해결할 수 있었다.
기준점 i번째의 값부터 n-1의 값까지 j번째와 k번째의 합들 중에서 최솟값을 구했다.
여기서 j번째는 i+1, k번째는 n-1번째로 설정하여
투 포인터 알고리즘으로 해결하였다.
i, j, k번째의 합이 비교대상 comp과 비교하여 최솟값과 인덱스 값을 업데이트해주었다.
'Language > JAVA' 카테고리의 다른 글
[JAVA] 자바 8 이후 스태틱 객체가 GC 대상이 된 이유 - 컴도리돌이 (0) | 2024.01.17 |
---|---|
[JAVA][백준 11062][게임 이론][DP] 카드 게임 - 컴도리돌이 (0) | 2022.08.21 |
[JAVA][백준 7570][그리디] 줄 세우기 - 컴도리돌이 (0) | 2022.08.19 |
[JAVA][백준 11657][벨만포드] 타임머신 - 컴도리돌이 (0) | 2022.08.18 |
[JAVA][백준 1092][Greedy, Sort] 배 - 컴도리돌이 (0) | 2022.08.17 |