Development/Algorithm & Coding Test
[프로그래머스] 두 큐 합 같게 만들기 - 파이썬(Python)
컴공 K
2022. 8. 28. 00:01
728x90
[프로그래머스] 두 큐 합 같게 만들기 - 파이썬(Python)

from collections import deque
def solution(queue1, queue2):
queue1, queue2 = deque(queue1), deque(queue2)
q1_sum, q2_sum = sum(queue1), sum(queue2)
max_cnt, cnt = len(queue1) * 3, 0
while (queue1 and queue2) and max_cnt != cnt:
if q1_sum == q2_sum: # 두 큐 합이 같으면 종료
return cnt
elif q1_sum > q2_sum: # queue1의 합이 더 크면 queue1에서 빼기
temp = queue1.popleft()
queue2.append(temp)
q1_sum -= temp
q2_sum += temp
else: # queue1의 합이 queue2보다 작을 때
temp = queue2.popleft()
queue1.append(temp)
q1_sum += temp
q2_sum -= temp
cnt += 1
return -1 # 두 큐 합이 같아지지 않으면 -1 반환
https://school.programmers.co.kr/learn/courses/30/lessons/118667
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
728x90
반응형