목록큐 (5)
개발자는 기록이 답이다

https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 푼 풀이 poll를 while문 들어가기 전에 먼저 하고, 분기처리할때마다 poll했다. 남아있는 cnt를 추가했다. import java.util.*; public class Solution { public int[] solution(int[] progresses, int[] speeds) { Queue Q = new LinkedList(); for (int i = 0; i < progre..

8. 응급실 예시 입력 1 5 2 60 50 70 80 90 예시 출력 1 3 예시 입력 2 6 3 70 60 90 60 60 60 예시 출력 2 4 내가 푼 틀린 풀이 문제를 제대로 이해 못했다.나는 해당 문제를 큐를 안써도 내림차순으로 정렬한뒤 3번째인 환자의 카운팅횟수만 넘겨주면 되는거 아닌가? 생각했는데 ,대기목록에 있는 환자의 순서는 그대로 둬야한다. 내림차순하면 대기목록 환자 순서들까지 바뀌어버려서 이렇게 하면 m번째 환자의 우선순위만 고려되는 것이다. import java.util.*; // 틀린 문제 public class Main { public int solution(int n, int m, int[] arr) { int target = arr[m]; System.out.println(..

7. 교육과정 설계 예시 입력 1 CBA CBDAGE 예시 출력 1 YES 내가 푼 풀이(Time: 164ms Memory: 27MB) 필수 과목들을 먼저 Q에 집어넣고, k문자열을 순회하면서 Q의 상단(앞단)에 있는거라아 일치하면 Q의 원소를 빼내줍니다. 이때 isEmpty()를 걸어주지 않으면 큐가 비어있는데 peek()을 하려고 해서 NullpointException이 나옵니다. 그리고 마지막 큐의 사이즈가 비어있지 않으면 NO를 리턴합니다. import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public String solution(String need, String k) ..

6. 공주구하기 예시 입력 1 8 3 예시 출력 1 7 내가 푼 풀이(Time: 165ms Memory: 27MB) Q 원소의 사이즈가 1일때까지 반복문을 돌면서 1)cnt가 3일때 빼주고 cnt=0으로 재 세팅하고, 2)나머지는 다시 뒤로 넣습니다. import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public int solution(int n, int k) { Queue queue = new LinkedList(); for (int i = 1; i 1) { int front = queue.poll(); cnt++; if (cnt == k) cnt = 0; else queue...