반응형
https://school.programmers.co.kr/learn/courses/30/lessons/118667
public static int solution(int[] queue1, int[] queue2) {
long sum1 = 0;
long sum2 = 0;
long sum = 0;
Deque<Integer> q1 = new ArrayDeque<>();
Deque<Integer> q2 = new ArrayDeque<>();
for(int i=0; i<queue1.length; i++) {
q1.add(queue1[i]);
q2.add(queue2[i]);
sum1 += queue1[i];
sum2 += queue2[i];
}
if(sum % 2 != 0) return -1;
sum = (sum1+sum2)/2;
int p1 = 0; int p2 = 0;
int n = queue1.length * 2;
while(p1 <= n || p2 <= n) {
if(sum1 == sum && sum2 == sum) {
return p1+p2;
}
else if(sum1 < sum) {
sum1 += q2.peek();
sum2 -= q2.peek();
q1.add(q2.poll());
p2++;
} else if(sum2 < sum) {
sum2 += q1.peek();
sum1 -= q1.peek();
q2.add(q1.poll());
p1++;
}
}
return -1;
}
반응형
'알고리즘 > 카카오' 카테고리의 다른 글
[프로그래머스] 이모티콘 할인행사 (0) | 2023.10.08 |
---|---|
[프로그래머스] 파괴되지 않은 건물 (0) | 2022.10.03 |
[프로그래머스] 행렬 테두리 회전하기 (0) | 2022.08.15 |
[프로그래머스] k진수에서 소수 개수 구하기 (0) | 2022.08.12 |
[프로그래머스] 양궁대회 (0) | 2022.08.09 |