본문 바로가기
코딩테스트/프로그래머스

[스택/큐] 기능개발 - JAVA

by 의정부핵꿀밤 2022. 4. 21.
728x90

https://programmers.co.kr/learn/courses/30/lessons/42586?language=java 

 

코딩테스트 연습 - 기능개발

프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는

programmers.co.kr

 

이거 저번에 푼건데 또 자바로 풀었다잉

스택/큐 문젠데 배열로 걍 풀었으

ArrayList 최고~

 

이건 코드

import java.util.*;
class Solution {
    public ArrayList<Integer> solution(int[] progresses, int[] speeds) {
        ArrayList<Integer> answer = new ArrayList<>();
        ArrayList<Integer> list = new ArrayList<>();
        for(int i=0;i<speeds.length;i++) {
            if((100-progresses[i])%speeds[i]==0) {
                list.add((100-progresses[i])/speeds[i]);
            } else {
                list.add((100-progresses[i])/speeds[i]+1);
            }
        }
        int index=0;
        int sum=0;
        int temp=0;
        while(index<speeds.length-1) {
            temp = list.get(index);
            int n=1;
            for(int i=1;i<list.size();i++) {
                if(list.get(index+i)<=temp && index+i<speeds.length-1) {
                    n++;
                }
                else {
                    index += i;
                    answer.add(n);
                    sum += n;
                    break;
                }
            }
        }
        if(temp>=list.get(index)) {
            answer.set(answer.size()-1, answer.get(answer.size()-1)+1);
        } else {
            answer.add(1);
        }
        return answer;
    }
}

그냥 뭐.. 배열 인덱스 초과 빼곤 금방 푼거 같다

 

 

ArrayList 값 업데이트 하는 방법만 정리!

arrayList.set(index, value);

해당 인덱스 값을 value로 변경한다!

728x90

댓글