슈뢰딩거의 고등어
[2022 KAKAO TECH INTERNSHIP] 두 큐 합 같게 만들기 (Python3) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/118667
[풀이방법]
def solution(queue1, queue2):
if (sum(queue1) + sum(queue2)) % 2 != 0: return -1
total = (sum(queue1) + sum(queue2)) // 2
q1 = sum(queue1)
q2 = sum(queue2)
idx1, idx2, t = 0, 0, len(queue1)
while idx1 < 2*t and idx2 < 2*t and q1 != q2:
if(q1 > q2):
# q1 pop, q2 push
no = queue1[idx1]
q1 -= no
q2 += no
queue2.append(no)
idx1+=1
if(q1 < q2):
# q2 pop, q1 push
no = queue2[idx2]
q2 -= no
q1 += no
queue1.append(no)
idx2+=1
if q1 == q2:
return idx1+idx2
return -1
'알고리즘' 카테고리의 다른 글
[2022 KAKAO TECH INTERNSHIP] 성격 유형 검사하기 (Python3) (0) | 2022.10.22 |
---|---|
[프로그래머스] DFS 여행경로 (C++ / Python3) (0) | 2022.07.02 |
[프로그래머스] n^2 배열 자르기 (0) | 2022.07.02 |
[프로그래머스 ]동적계획법(Dynamic Programming) > 등굣길 (0) | 2022.05.22 |
[프로그래머스] 2021 Dev-Matching: 웹 백엔드 개발자(상반기) > 다단계 칫솔 (0) | 2022.05.22 |
Comments