컴공생의 다이어리
[프로그래머스] 두 큐 합 같게 만들기 - 파이썬(Python) 본문
[프로그래머스] 두 큐 합 같게 만들기 - 파이썬(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
728x90
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[파이썬, Python] 백준 2018번 : 수들의 합 5 (0) | 2022.08.30 |
---|---|
[프로그래머스] 위장 - 자바스크립트(JS) (0) | 2022.08.29 |
[파이썬, Python] 백준 6497번 : 전력난 (0) | 2022.08.27 |
[파이썬, Python] 백준 1972번 : 놀라운 문자열 (1) | 2022.08.25 |
[파이썬, Python] 백준 1043번 : 거짓말 (1) | 2022.08.24 |
Comments