문제풀이/DataStructure
[PS] 프로그래머스 햄버거만들기 ( 자료구조 ) with JAVA
IT록흐
2024. 4. 9. 16:04
반응형
◎ 문제풀이
재료들이 배열에 차례대로 저장되어 있다. 햄버거를 만드는 패턴과 일치하는 케이스를 카운트 하면 된다. 배열에 저장되어 있는 재료들을 가장 왼쪽부터 차례대로 자료구조에 담으면서, 빵-야채-고기-빵 차례로 데이터가 나열되는지를 체크하면 된다. 자료구조는 리스트를 사용하였고 리스트에서 만들어진 햄버거 재료를 제거할 때, size가 가변적으로 변하니 인덱스 사용에 주의해야 한다.
◎ 코드
import java.util.*;
class Solution {
public int solution(int[] ingredient) {
int answer = 0;
LinkedList<Integer> list = new LinkedList<>();
for(int value : ingredient){
list.add(value);
if(list.size() >= 4){
int idx = list.size()-1;
if(list.get(idx)==1&&list.get(idx-1)==3&&list.get(idx-2)==2&&list.get(idx-3)==1){
answer++;
for(int i=9;i>4;i++){
list.remove(list.size()-1); // remove 할때 마다 size가 가변적으로 변한다.
}
}
}
}
return answer;
}
}
반응형