[2022 KAKAO TECH INTERNSHIP Level 2] 두 큐 합 같게 만들기
1분 읽기
풀이 1: 투 포인터
function solution(queue1, queue2) {
const q = [...queue1, ...queue2];
const half = q.reduce((acc, current) => acc + current) / 2;
// 소수인 경우 각 큐의 원소 합이 같을 수 없다.
if(half % 1 > 0) return -1;
let start = 0;
let end = queue1.length - 1;
let sum = queue1.reduce((acc, current) => acc + current);
let count = 0;
while(end < q.length){
if(sum === half) return count;
count++;
if(sum < half){
sum += q[++end];
} else {
sum -= q[start++];
}
}
return -1;
}Two Pointers7편 중 3번째
- 1. [프로그래머스 Level 2] 연속된 부분 수열의 합
- 2. [프로그래머스 Level 2] 할인 행사
- 3. [2022 KAKAO TECH INTERNSHIP Level 2] 두 큐 합 같게 만들기
- 4. [백준 Silver 4] 수들의 합 2
- 5. [백준 Gold 4] 부분합
- 6. [프로그래머스 Level 3] 가장 긴 팰린드롬
- 7. [2020 KAKAO TECH INTERNSHIP Level 3] 보석 쇼핑
관련 글
4분 읽기
소수 구하기
소수 판별법과 소수를 구하는 알고리즘을 정리합니다.
1분 읽기
[프로그래머스 Level 2] 미로 탈출
프로그래머스 미로 탈출을 BFS로 풀이합니다.
1분 읽기
[프로그래머스 Level 2] 마법의 엘리베이터
프로그래머스 마법의 엘리베이터를 자리수 그리디로 풀이합니다.