[C++] 프로그래머스 - 햄버거 만들기

김세희·2025년 6월 23일

✍️Today I Learned

프로그래머스 - 햄버거 만들기


문제 설명

프로그래머스 문제 링크
직원이 준비한 재료의 순서를 유지하며 빵-야채-고기-빵 순으로 햄버거를 조립한다.

풀이

#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;
}

코드 설명

  1. ingredient의 순서를 변경하지 않고 1-2-3-1인 부분을 찾기 위해 다른 벡터 burger에 재료를 하나씩 추가했다.
  2. burger의 마지막 4원소가 햄버거 재료의 순서와 같으면 answer++하고 원소를 삭제했다.

0개의 댓글