반응형
프로그래머스
2022 KAKAO TECH INTERNSHIP
두 큐 합 같게 만들기
Two Pointers Algorithm:
a search algorithm used to solve problems involving collections such as arrays and lists by comparing elements pointed by two pointers and updating them accordingly.
list와 array에서 두 개의 점의 위치를 기록하면서 순차적으로 접근하여 문제를 해결하는 알고리즘. 연속 수열의 합이 특정한 값을 가지는 것을 확인하는 것이 대표적인 문제.
def solution(queue1, queue2):
q = queue1 + queue2
target = sum(q)//2
i, j = 0, len(queue1) -1
curr = sum(queue1)
cnt = 0
while i < len(q) and j < len(q):
if curr == target:
return cnt
elif curr < target and j < len(q)-1:
j+= 1
curr += q[j]
else:
curr -= q[i]
i+= 1
cnt += 1
return -1
반응형
'DS > Coding Test' 카테고리의 다른 글
[Python] 5명씩 (0) | 2023.05.19 |
---|---|
[Python][DFS] 여행경로 (0) | 2023.05.18 |
[Python] 로또의 최고 순위와 최저 순위 (0) | 2023.05.18 |
[Python] 크레인 인형뽑기 게임 (0) | 2023.05.18 |
[Python][BFS] 거리두기 확인하기 (0) | 2023.05.17 |