문제
문제 풀이
처음에는 단순히 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 |