반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
◎ 문제풀이
재료들이 배열에 차례대로 저장되어 있다. 햄버거를 만드는 패턴과 일치하는 케이스를 카운트 하면 된다. 배열에 저장되어 있는 재료들을 가장 왼쪽부터 차례대로 자료구조에 담으면서, 빵-야채-고기-빵 차례로 데이터가 나열되는지를 체크하면 된다. 자료구조는 리스트를 사용하였고 리스트에서 만들어진 햄버거 재료를 제거할 때, 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;
}
}
반응형
'문제풀이' 카테고리의 다른 글
[PS] 프로그래머스 광물캐기 ( Greedy ) with JAVA (0) | 2024.04.12 |
---|---|
[PS] 프로그래머스 - 삼총사 ( 백트래킹 ) with JAVA (0) | 2024.04.12 |
[PS] 프로그래머스 - 과제 진행하기 ( 구현, 자료구조 ) with JAVA (0) | 2024.04.09 |
[PS] 프로그래머스-요격시스템 (Greedy) with JAVA (0) | 2024.04.08 |
[PS] BOJ12865 평범한 배낭 ( DP ) with JAVA (0) | 2024.02.23 |