알고리즘테스트/Programmers

[Lv.1_Java] 햄버거 만들기

코딩거인 2023. 10. 26. 08:44
728x90

class Solution {
    public int solution(int[] ingredient) {
        int[] newIngredient = new int[ingredient.length];
        int idx = 0;
        int answer = 0;
        for(int ing : ingredient) {
            newIngredient[idx] = ing;
            idx++;
            if(idx >= 4) {
                if(newIngredient[idx-4] == 1 && newIngredient[idx-3] == 2 
                   && newIngredient[idx-2] == 3 && newIngredient[idx-1] == 1) {
                    idx -= 4;
                    answer++;
                }
            }
        }
        return answer;
    }
}

우선 문제가 너무 길어서 힘들었다....핳

문제를 읽어보니 배열의 값이 1231 이라는 숫자가 동일하게 나올경우 배열에서 제외해주고 그 앞 뒤로 있는 값들을 이어서 다시 확인해야했다.

그래서 우선 똑같은 배열을 만들어 준뒤 idx 라는 인덱스를 만들어주고 4보다 클경우 값을 비교하고 만약에 1231 이라는 숫자가 나왔을 경우 idx 에서 4를 빼주고 answer 을 하나씩 추가하는 형식으로 구현했다....

728x90