알고리즘/알고리즘 풀이

[프로그래머스_1] 햄버거 만들기 JAVA

데부한 2023. 4. 9. 01:30
반응형

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

CODE

import java.util.*;
class Solution {
    public int solution(int[] ingredient) {
        String recipe = "1231";
        StringBuffer sb = new StringBuffer(Arrays.toString(ingredient).replaceAll("[^0-9]",""));
        int answer = 0;
        
        while(sb.indexOf(recipe) > -1) {
            int startIdx = sb.indexOf(recipe);
            sb.delete(startIdx, startIdx+4);
            answer++;
        }
        
        return answer;
    }
}

처음에는 배열과 list를 이용해서 풀까 하다가 문자열을 이용하면 더 쉽고 간단하게 풀 수 있을 거 같아 ingredient 배열을 문자열 StringBuffer로 변환했다. 그리고 for문이 아닌 while문을 사용했는데, for문을 사용하면 반복 조건이 애매할 거 같아 while 반복문을 택했다. sb에 recipe에 담긴 값이 있으면 삭제 후 answer를 증가시켜주었다!

 

실행 결과

 

반응형