💻 문제 출처 : 프로그래머스_햄버거 만들기
import java.util.*;
class Solution {
public int solution(int[] ingredient) {
int answer = 0;
Stack<Integer> stackHamburger = new Stack<>();
Stack<Integer> hamburger = new Stack<>();
hamburger.push(1);
hamburger.push(2);
hamburger.push(3);
hamburger.push(1);
for(int i : ingredient) {
stackHamburger.push(i);
if(stackHamburger.size() > 3 && stackHamburger.subList(stackHamburger.size() - 4, stackHamburger.size()).equals(hamburger)) {
stackHamburger.pop();
stackHamburger.pop();
stackHamburger.pop();
stackHamburger.pop();
answer++;
}
}
return answer;
}
}
📌 문제 풀이 설명
📌 주의했던 부분
class Solution {
public int solution(int[] ingredient) {
int[] stack = new int[ingredient.length];
int sp = 0;
int answer = 0;
for (int i : ingredient) {
stack[sp++] = i;
if (sp >= 4 && stack[sp - 1] == 1
&& stack[sp - 2] == 3
&& stack[sp - 3] == 2
&& stack[sp - 4] == 1) {
sp -= 4;
answer++;
}
}
return answer;
}
}
📌 문제 풀이 설명