프로그래머스 - 햄버거 만들기
프로그래머스 문제 링크
직원이 준비한 재료의 순서를 유지하며 빵-야채-고기-빵 순으로 햄버거를 조립한다.
#include <vector>
using namespace std;
// 빵:1 야채:2 고기:3
// 쌓여 있는 재료 순서를 바꿀 수 없음
int solution(vector<int> ingredient)
{
int answer = 0;
vector<int> burger;
for(int i:ingredient)
{
burger.push_back(i);
int n = burger.size();
if(n >= 4 && burger[n-4]==1 && burger[n-3]==2 && burger[n-2]==3 && burger[n-1]==1)
{
answer++;
burger.erase(burger.end()-4,burger.end());
}
}
return answer;
}
ingredient의 순서를 변경하지 않고 1-2-3-1인 부분을 찾기 위해 다른 벡터 burger에 재료를 하나씩 추가했다.burger의 마지막 4원소가 햄버거 재료의 순서와 같으면 answer++하고 원소를 삭제했다.