-
[프로그래머스] 기능개발 - Java공부/프로그래머스 2024. 6. 30. 22:38728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
프로그래머스 기능개발 자바 풀이
난이도: Lv2
풀이
우선 각 기능개발에 필요한 기간을 구해 Queue에 넣는다.
그 후 Queue에서 먼저 개발이 필요한 기능이 필요한 기간을 얻고,
그 이후에 개발된 기능이 더 짧은 시간에 개발된 경우,
count에 더하여 배포될 기능에 추가한다.
만약 더 긴 시간이 걸린 경우 다음 배포에 추가한다.
코드
import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; class Solution { public ArrayList solution(int[] progresses, int[] speeds) { ArrayList<Integer> answer =new ArrayList<>(); Queue<Integer> queue = new LinkedList<>(); for(int i=0;i<progresses.length;i++){ queue.add((int)Math.ceil((100.0-progresses[i])/speeds[i])); } while(!queue.isEmpty()){ int min=queue.poll(); int count=1; while (!queue.isEmpty()&&queue.peek()<=min) { queue.poll(); count+=1; } answer.add(count); } return answer; } }
728x90반응형'공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 프로세스 - Java (0) 2024.07.04 [프로그래머스] 튜플 - Java (0) 2024.07.03 [프로그래머스] 의상 - Java (1) 2024.06.06 [프로그래머스] [1차] 캐시 - Java (1) 2024.06.03 [프로그래머스] 숫자 짝꿍 - Java (0) 2024.03.19