2022 KAKAO TECH INTERNSHIP - 118667. 두 큐 합 같게 만들기
[Lv. 2]
https://school.programmers.co.kr/learn/courses/30/lessons/118667
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
deque를 이용해 greedy하게 풀이하면 되었던 문제.
주의할 점은, 반복문 안에서 sum()
을 이용하면, TLE가 날 수 있다는 것!
from collections import deque def solution(queue1, queue2): queue1 = deque(queue1) queue2 = deque(queue2) # 홀수면 절반 불가 total = sum(queue1)+sum(queue2) if total % 2 == 1: return -1 S = sum(queue1) for i in range(len(queue1)*4): if S == total/2: return i elif S > total/2: a = queue1.popleft() queue2.append(a) S -= a else: a = queue2.popleft() queue1.append(a) S += a return -1