💡 문제

💬 입출력 예시

📌 풀이(소스코드)
import java.util.*;
class Solution {
	public int solution(int[] ingredient) {
		int answer = 0;
        
		ArrayList<Integer> ingredients = new ArrayList<Integer>();
        
		ArrayList<Integer> seq = new ArrayList<Integer>();
		seq.add(1);
		seq.add(2);
		seq.add(3);
		seq.add(1);
        
		for (int i = 0; i < ingredient.length; i++) {
			ingredients.add(ingredient[i]);
			
			if (ingredients.size() >= 4) {
				
				ArrayList<Integer> temp = new ArrayList<Integer>();
				temp.add(ingredients.get(ingredients.size() - 4));
				temp.add(ingredients.get(ingredients.size() - 3));
				temp.add(ingredients.get(ingredients.size() - 2));
				temp.add(ingredients.get(ingredients.size() - 1));
				
				if (temp.equals(seq)) {
					answer++;
					ingredients.remove(ingredients.size() - 1);
					ingredients.remove(ingredients.size() - 1);
					ingredients.remove(ingredients.size() - 1);
					ingredients.remove(ingredients.size() - 1);
				}
			}
		}
		return answer;
	}
}
📄 해설
스택(Stack) 자료구조를 사용한다는 생각으로 접근하면 해결 가능
Java 의 Stack 클래스를 사용 할 경우 인덱싱이 어려우므로, ArrayList 클래스를 사용하여 해결하였음 
 
- 재료 리스트 
ingredients 와 햄버거 순서 리스트 seq 를 사용 
- 재료 리스트에 입력 받은 재료를 추가
 
- 재료 리스트의 크기가 4 이상일 경우, 임시 리스트 
temp 에 마지막 4개 재료를 전부 추가 
temp 와 seq 가 같으면 answer 증가 후 재료 리스트에서 제거