본문 바로가기

Queue

(3)
[프로그래머스] 보석 쇼핑 / 2020 카카오 인턴십 - JAVA 🔗 문제 링크 [프로그래머스] 보석 쇼핑 / 2020 카카오 인턴십 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 📝 풀이 과정 Set에 중복이 되지 않도록 모든 보석을 넣어준 뒤, Queue에 차례대로 넣어가며 Queue에 존재하는 보석의 종류수가 Set의 크기와 동일하면 모든 보석을 포함하는 경우이다. Queue에 보석을 하나씩 넣어가며 Map에 현재 보석의 개수를 추가해주었다. 추가하면서 만약 Queue의 제일 앞의 보석의 개수가 1보다 크다면 그 보석이 없더라도 이미 모든 보석을 가지고 있기 때문에 반복해서 제거해주었다. 모든 보석을 포함하고 있으면..
[프로그래머스] 기능개발 - JAVA 🔗 문제 링크 [프로그래머스] 기능개발 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 📝 풀이 과정 각 기능은 정해진 순서대로만 배포가 가능하기 때문에 현재 기능이 완료됐다고하더라도 앞의 기능이 완료되지 않으면 배포가 불가능하다. 따라서 입력 순서대로 반환하는 Queue를 사용하였다. for (int i = 0; i < progresses.length; i++) queue.add((int) (Math.ceil((100.0 - progresses[i]) / speeds[i]))); 기능구현이 완료되는 ..
[프로그래머스] 다리를 지나는 트럭 - JAVA 🔗 문제 링크 [프로그래머스] 다리를 지나는 트럭 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr 📝 풀이 과정 트럭은 정해진 순서로 진입하고 진입한 순서대로 다리에서 빠져나오기 때문에 Queue를 사용하기로 했다. if (!queue.isEmpty() && time == queue.peek()[1]) { int[] truck = queue.poll(); weight += truck[0]; } Queue에 int배열로 {진입한 트럭의 무게, 도달시간} 순으로 넣고, time을 반복할 때마다 하..