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

bej_ve·2022년 10월 28일
0

python알고리즘

목록 보기
38/46

<문제>
길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다.

<코드>

from collections import deque

def solution(queue1, queue2):
    deque1=deque(queue1)
    deque2=deque(queue2)
    sum1=sum(deque1)
    sum2=sum(deque2)
    
    for i in range(len(deque1)*3):
        if sum1==sum2:
            return i
        if sum1>sum2:
            num=deque1.popleft()
            deque2.append(num)
            sum1-=num
            sum2+=num
        else:
            num=deque2.popleft()
            deque1.append(num)
            sum2-=num
            sum1+=num
        
    return -1

0개의 댓글