-
[백준] 2470. 두용액 (투 포인터)코테 준비/이진탐색 2023. 2. 7. 21:12
Two Pointers 알고리즘의 시간복잡도는 O(n)
n=int(input()) nlist=list(map(int,input().split())) nlist.sort() start=0 end=n-1 target=0 #0에 가까운 sum=[] idx=[] while start<end: s=nlist[start]+nlist[end] if s<target: #두용액의 합이 0보다 작으면 idx.append(abs(s)) sum.append((nlist[start],nlist[end])) #0 start+= 1 elif s>target: #두용액의 합이 0보다 작으면 idx.append(abs(s)) sum.append((nlist[start],nlist[end])) end-= 1 else: idx.append(abs(s)) sum.append((nlist[start],nlist[end])) break k=idx.index(min(idx)) print(*sum[k])
'코테 준비 > 이진탐색' 카테고리의 다른 글
1654. 랜선 자르기 (Python) (0) 2022.12.08 2805. 나무 자르기 (0) 2022.12.08