[프로그래머스] 기능개발 문제 풀이(Queue 큐 Lv. 2) - java 자바
2022. 5. 24. 21:16ㆍ네카라쿠배 취준반 - 프로그래머스 문제 풀이/코딩 테스트 연습 - 해시
0. 자세한 설명은 YouTube 영상으로
1. ArrayList + for 문을 활용한 Solution
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> answer = new ArrayList<Integer>();
for (int i = 0; i < progresses.length; i++) {
// 1. 한 개 기능을 개발하는데 필요한 날짜 계산
double days = (100 - progresses[i]) / (double) speeds[i];
int daysUp = (int) Math.ceil(days);
// 2. 함께 배포할 기능의 index 찾기
int j = i + 1;
for (; j < progresses.length; j++)
if (progresses[j] + daysUp * speeds[j] < 100)
break;
// 3. 이번에 배포할 기능의 개수를 추가하기
answer.add(j - i);
i = j - 1;
}
// 4. ArrayList를 array 형태로 변경하여 반환
return answer.stream().mapToInt(i -> i.intValue()).toArray();
}
}
2. YouTube 영상에 자세한 내용을 정리했으니 참고하세요
'네카라쿠배 취준반 - 프로그래머스 문제 풀이 > 코딩 테스트 연습 - 해시' 카테고리의 다른 글
[2022 카카오 코딩테스트] 신고 결과 받기 - 자바 java (Hash, 해시) (0) | 2022.02.16 |
---|---|
[프로그래머스] 소수 찾기 (완전탐색 Lv. 2) - C++ (2) | 2021.11.02 |
[프로그래머스] 전화번호 목록 문제 풀이(해시 Lv. 2) - C++ (0) | 2021.11.01 |
[프로그래머스] 완주하지 못한 선수 (해시 Lv. 1) - C++ (2) | 2021.10.31 |
[프로그래머스] 위장 (해시 Lv. 2) - 파이썬 Python (1) | 2021.10.04 |