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;
}
}
'공부기록 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 크기가 작은 문자열 (0) | 2023.11.08 |
---|---|
[프로그래머스] 삼총사 (0) | 2023.11.08 |
[프로그래머스] 점프와 순간이동 (0) | 2023.11.06 |
[프로그래머스] 게임 맵 최단거리(bfs) (0) | 2023.11.06 |
[프로그래머스] 숫자의 표현 (0) | 2023.10.29 |