공부기록/프로그래머스

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

메델 2023. 11. 8. 18:45
import java.util.*;
class Solution {
    public int solution(int[] ingredient) {
        int answer = 0;
        Stack<Integer> stack = new Stack<>();
        
        for(int x: ingredient){
            stack.push(x);
            if(stack.size()>=4){
                if(stack.get(stack.size()-4) == 1
                  && stack.get(stack.size()-3) == 2
                  && stack.get(stack.size()-2) == 3
                  && stack.get(stack.size()-1) == 1                
                  ){
                    answer++;
                    stack.pop();
                    stack.pop();
                    stack.pop();
                    stack.pop();
                }
            }
        }
        
        return answer;
    }
}

 

문자열로 풀다가 정확성에서 계속 막혀서 그냥 스택으로 풀음..

밑에는  문자열로 푼 다른 사람 풀이

 


class Solution {
    public int solution(int[] ingredient) {
        int answer = 0;

        StringBuilder pack = new StringBuilder();
        for (int i : ingredient) pack.append(i);

        int index = pack.indexOf("1231");

        while (index != -1) {
            pack = pack.delete(index, index + 4);
            answer ++;
            index = pack.indexOf("1231");
        }
        return answer;
    }
}