Lewis's Tech Keep
[프로그래머스] 기능개발 본문
스택을 이용해서 풀어야 했는데 아직 익숙하지 않아 배열로 끝내버렸다.
스택으로 연습할 것
더보기
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> answerList = new ArrayList<>();
List<Integer> progressesList = new ArrayList<>();
List<Integer> speedsList = new ArrayList<>();
int currentProgresses = 0;
int complete = 100;
for(int i : progresses) {
progressesList.add(i);
}
for(int i : speeds) {
speedsList.add(i);
}
while(progressesList.size() > 0) {
for(int i =0; i<progressesList.size();i++) {
int newProgress = progressesList.get(i) + speedsList.get(i);
progressesList.set(i, newProgress);
}
int currentCompletedCount = 0;
for(int i =0; i<progressesList.size();i++) {
if(progressesList.get(i) >= complete) {
progressesList.remove(i);
speedsList.remove(i);
i--;
currentCompletedCount++;
} else {
break;
}
}
// System.out.println(progressesList);
if(currentCompletedCount > 0) {
answerList.add(currentCompletedCount);
}
currentProgresses++;
}
int[] answer = new int[answerList.size()];
for(int i =0; i < answerList.size(); i++) {
answer[i] = answerList.get(i);
}
return answer;
}
}
'Java > 알고리즘' 카테고리의 다른 글
[프로그래머스] 타겟 넘버 (0) | 2021.01.28 |
---|---|
[프로그래머스] 오답 - 디스크 컨트롤러 (0) | 2021.01.27 |
[프로그래머스] 주식가격 (0) | 2021.01.21 |
[General] 캐싱에 관해 (0) | 2021.01.12 |
[로직] 숫자야구겜 (0) | 2021.01.06 |