-
TIL-2024.08.11-programmers-lv2-118667.두 큐 합 같게 만들기(feat.kakao)> 기초/코테 연습 2024. 8. 11. 12:32
URL:
https://school.programmers.co.kr/learn/courses/30/lessons/118667
CODE:
// URL > const solution = (queue1, queue2) => { let sum1 = queue1.reduce((acc, cur) => acc += cur); let sum2 = queue2.reduce((acc, cur) => acc += cur); let target = ( sum1 + sum2 ) / 2; const maxCount = (queue1.length) * 2 + 1; let count = 0; const flag = queue1.concat(queue2).filter(item => item > target); if (flag.length !== 0) return -1; let queue1Index = 0; let queue2Index = 0; while (!( sum1 === sum2 )) { if (sum1 > sum2) { let element1 = queue1[queue1Index]; queue1Index += 1; queue2.push(element1); sum2 = sum2 + element1; sum1 = sum1 - element1; } else if (sum1 < sum2) { let element2 = queue2[queue2Index]; queue2Index += 1; queue1.push(element2); sum2 = sum2 - element2; sum1 = sum1 + element2; } count += 1; if (count > maxCount) return -1; } return count; }; console.log("result:: ", solution([3, 2, 7, 2], [4, 6, 5, 1])); // 2 console.log("result:: ", solution([1, 2, 1, 2], [1, 10, 1, 2])); // 7 console.log("result:: ", solution([1, 1], [1, 5])); // -1 console.log("result:: ", solution([10, 5, 1], [2, 2, 2])); // -1 console.log("result:: ", solution([1, 1, 1, 1], [1, 1, 7, 1])); // -1
'> 기초 > 코테 연습' 카테고리의 다른 글
TIL-2024.08.14-programmers-lv2-87390.n^2 배열 자르기 (0) 2024.08.14 TIL-2024.08.11-programmers-lv2-12949.행렬곱셈 (0) 2024.08.12 TIL-2024.08.08-programmers-lv2-42586.기능개발 (0) 2024.08.08 TIL-2024.07.25-programmers-lv2-12985.예상대진표 (0) 2024.07.25 TIL-2024.07.24-programmers-lv2-12914.멀리뛰기 (0) 2024.07.24