728x90
길이가 같은 두 개의 큐가 주어진다.
하나의 큐를 골라 원소를 추출하여, 다른 큐에 집어 넣는 작업을 한다.
위의 작업을 통해 두 개의 큐에 있는 원소의 합이 같도록 만든다.
이때 필요한 작업의 최소 횟수를 구해 리턴하며
큐는 먼저 집어 넣은 원소가 먼저 나오는 선입 선출 구조로
queue1 에서 첫번쨰 원소가 추출되어 옮겨진다면 queue2의 뒷부분에 들어가야함
두 큐의 원소의 합이 같아질 수있는 방법이 없다면 -1을 리턴한다.
numeric에 있는 accumulate함수를 이용해 각 큐의 원소 합을 구해주고
선입선출 구조를 가진 큐의 특성상, 투포인터를 사용하여 효율적인 접근을 하였다
그 다음 조건이 같아 질때 까지 원소를 옮기며 반복하고
이동 횟수를 제한하여 그 안에 같아지지 않는다면 불가능으로 판단하고 -1을 리턴해주었다.
728x90
'프로그래머스 C++' 카테고리의 다른 글
프로그래머스 삼각 달팽이 C++ (0) | 2025.01.08 |
---|---|
프로그래머스 소수 찾기 C++ (0) | 2025.01.08 |
프로그래머스 쿼드압축 후 개수 세기 C++ (0) | 2025.01.06 |
프로그래머스 2개 이하로 다른 비트 C++ (0) | 2025.01.06 |
프로그래머스 프렌즈4블록 C++ (0) | 2025.01.05 |