[Programmers / Level1]133502. 햄버거 만들기(Java)

이하얀·2024년 9월 6일
0

🕊️ 프로그래머스

목록 보기
39/47

💡 Info




입출력 조건




입출력 예시




문제 이해


  • 배열 길이가 4 이상일 때부터, 값의 순서가 1, 2, 3, 1인지 확인해서 맞는 값만 카운트해 개수를 구하는 문제


알고리즘 및 최종 풀이


풀이 시간 : 15분

  • 값이 4개 이상 들어왔을 경우
    • 값이 1, 2, 3, 1의 순서로 들어왔다면 -> answer ++
import java.util.*;

class Solution {
    public int solution(int[] ingredient) {
        int answer = 0;
        ArrayList<Integer> hamburger = new ArrayList<>();
        
        for (int i = 0; i < ingredient.length; i++) {
            hamburger.add(ingredient[i]);

            if (isHamburger(hamburger)) {
                answer++;
                
                for(int j=0; j<4; j++){
                    hamburger.remove(hamburger.size()-1);
                }
            }
        }
        return answer;
    }
    
    public boolean isHamburger(ArrayList<Integer> hamburger) {
        int size = hamburger.size();
        
        return size >= 4 && hamburger.get(size - 4) == 1 && hamburger.get(size - 3) == 2 && hamburger.get(size - 2) == 3 && hamburger.get(size - 1) == 1;
    }
}

결과





🚨 참고할 풀이

import java.util.*;

class Solution {
    public int solution(int[] ingredient) {
        int answer = 0;
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < ingredient.length; i++) {
            sb.append(ingredient[i]);

            if (sb.length() > 3 && sb.substring(sb.length() - 4, sb.length()).equals("1231")) {
                answer++;
                sb.delete(sb.length() - 4, sb.length());
            }
        }
        return answer;
    }
}
profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE 개발 기록 노트☘️

0개의 댓글