본문 바로가기
Coding Test/Programmers

[Programmers] (2022 KAKAO TECH INTERNSHIP) Lv 2. 두 큐 합 같게 만들기

by song.ift 2023. 8. 1.

https://school.programmers.co.kr/learn/courses/30/lessons/118667

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

cpp
닫기
#include <string> #include <vector> #include <algorithm> #include <numeric> #include <cmath> using namespace std; int solution(vector<int> queue1, vector<int> queue2) { ​​​​int answer = 0; ​​​​long sum1 = ::accumulate(queue1.begin(), queue1.end(), 0), ​​​​​​​​​​​sum2 = ::accumulate(queue2.begin(), queue2.end(), 0); ​​​​size_t idx1 = 0, idx2 = 0; ​​​​int max = queue1.size() * 4; ​​​​while (answer < max) ​​​​{ ​​​​​​​​if (sum1 > sum2 && !queue1.empty()) ​​​​​​​​{ ​​​​​​​​​​​​queue2.emplace_back(queue1[idx1]); ​​​​​​​​​​​​sum2 += queue1[idx1], sum1 -= queue1[idx1]; ​​​​​​​​​​​​++idx1; ​​​​​​​​} ​​​​​​​​else if (sum1 < sum2 && !queue2.empty()) ​​​​​​​​{ ​​​​​​​​​​​​queue1.emplace_back(queue2[idx2]); ​​​​​​​​​​​​sum1 += queue2[idx2], sum2 -= queue2[idx2]; ​​​​​​​​​​​​++idx2; ​​​​​​​​} ​​​​​​​​else break; ​​​​​​​​ ​​​​​​​​++answer; ​​​​} ​​​​return answer >= max ? -1 : answer; }

GitHub : https://github.com/developeSHG/Algorithm-Baekjoon_Programmers/commit/f8142d5ee794ca3ac635aa1bacab6825bfae7d93

 

[level 2] Title: 두 큐 합 같게 만들기, Time: 1.59 ms, Memory: 10.7 MB -Baekjo… · developeSHG/Algorithm-Baekjoon_Progr

…onHub

github.com

 

댓글