햄버거 만들기

문제


문제 풀이

처음에는 단순히  1231 햄버거 쌓이는게 몇 번인가를 고민하면서 접근하다가 출력하는 조건에서 시간초과가 떠서 다른 방식으로 접근하게 되었음. 

 

ingredient를 스택에 쌓아주면서 stack의 get() 함수를 사용하여 size -1 ~ -4 까지의 값들을 비교하는 방법으로 접근하였음. 


나의 답안

public static int solution(int[] ingredient) {
    int answer = 0;
    int n = 4;
    Stack<Integer> stack = new Stack<>();
    for (int i : ingredient) {
        stack.push(i);
        int size = stack.size();
        if (stack.size() >= n) {
            if (stack.get(size - 1) == 1 && stack.get(size - 2) == 3 && stack.get(size - 3) == 2 && stack.get(size - 4) == 1) {
                for (int j = 0; j <= 3; j++) {
                    stack.pop();
                }
                answer++;
            }
        }
    }
    return answer;
}

'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글

둘만의 암호  (0) 2023.03.27
성격 유형 검사하기  (0) 2023.03.27
신규 아이디 추천  (0) 2023.03.24
문자열 나누기  (0) 2023.03.24
크레인 인형뽑기 게임  (0) 2023.03.24