diff --git a/programmers/햄버거 만들기/solution.java b/programmers/햄버거 만들기/solution.java index c85ce9f..77c24a1 100644 --- a/programmers/햄버거 만들기/solution.java +++ b/programmers/햄버거 만들기/solution.java @@ -1,34 +1,20 @@ // [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/133502 -import java.util.*; - class Solution { - public int solution(int[] ingr) { + public int solution(int[] ingredient) { + int[] stack = new int[ingredient.length]; + int sp = 0; int answer = 0; - ArrayList list = new ArrayList<>(); - ArrayList list2 = new ArrayList<>(); - list2.add(1); - list2.add(2); - list2.add(3); - list2.add(1); - for (int i = 0; i < ingr.length; i++){ - list.add(ingr[i]); - if(list.size() >= 4){ - ArrayList list3 = new ArrayList<>(); - list3.add(list.get(list.size()-4)); - list3.add(list.get(list.size()-3)); - list3.add(list.get(list.size()-2)); - list3.add(list.get(list.size()-1)); - if(list3.equals(list2)){ - answer++; - list.remove(list.size()-1); - list.remove(list.size()-1); - list.remove(list.size()-1); - list.remove(list.size()-1); - } + 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; } } \ No newline at end of file