기록

프로그래머스_두 큐 합 같게 만들기 본문

코딩테스트/python

프로그래머스_두 큐 합 같게 만들기

youngyin 2023. 6. 26. 15:00

문제

https://school.programmers.co.kr/learn/courses/30/lessons/118667

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

투 포인터

투 포인터 알고리즘은 주로 배열 또는 리스트에서 두 개의 포인터(인덱스)를 사용하여 특정 조건을 만족하는 부분 구간을 탐색하는 알고리즘이다. 시작과 끝을 가리키는 포인터를 이동하며 구간을 조절하며 조건을 만족하는 구간을 효율적으로 찾을 수 있다.

코드

def solution(queue1, queue2):
    s, e = 0, len(queue1)
    queue = queue1+queue2
    sm = sum(queue[s:e])
    tg = sum(queue)/2
    ans = 0
    
    while e<len(queue) : 
        if sm == tg : return ans
        if sm < tg : 
            sm += queue[e]
            e += 1
        elif sm > tg :
            sm -= queue[s]
            s += 1
        ans += 1
        
    return -1

 

 

'코딩테스트 > python' 카테고리의 다른 글

프로그래머스_요격 시스템  (0) 2023.09.10
백준_1509_팰린드롬 분할  (0) 2022.10.10
백준_1647_도시 분할 계획  (0) 2022.10.06
백준_9466_텀 프로젝트  (0) 2022.10.05
백준_16724_피리 부는 사나이  (0) 2022.10.04
Comments