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

수경·2022년 12월 22일
0

problem solving

목록 보기
94/174

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

풀이

  1. 햄버거는 [1, 2, 3, 1]
  2. 입력받은 값을 스택에 하나씩 저장
  3. 만약 스택의 사이즈가 4이상이면, 햄버거를 만들 수 있는 지 하나씩 확인 ([1,2,3,1] 을 가지는지 확인)
  4. 만약 햄버거를 만들 수 있다면 result를 증가시킨 후, 해당 스택에서 4개를 삭제

코드

import java.util.Stack;

public class Hamburger {
	public int solution(int[] ingredient) {
		int result = 0;
		Stack<Integer> stack = new Stack<>();
		for (int in : ingredient) {
			stack.push(in);
			if (stack.size() >= 4) {
				int size = stack.size();
				if(stack.get(size - 1) == 1
						&& stack.get(size - 2) == 3
						&& stack.get(size - 3) == 2
						&& stack.get(size - 4) == 1) {
					result++;
					stack.pop();
					stack.pop();
					stack.pop();
					stack.pop();
				}
			}
		}
		return result;
	}

	public static void main(String[] args) {
		Hamburger divideString = new Hamburger();
		System.out.println(divideString.solution(new int[]{2, 1, 1, 2, 3, 1, 2, 3, 1}));    // 2
		System.out.println(divideString.solution(new int[]{1, 3, 2, 1, 2, 1, 3, 1, 2}));    // 0
	}
}
profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글