본문 바로가기

Queue2

[Java] 백준 2164 - 카드2 큐를 이용해 맨 앞 카드를 버리고, 그다음 카드를 맨 뒤로 보내는 과정을 반복하여 마지막에 남는 카드를 구하는 문제 1. 문제 유형큐, 덱(Deque), 구현, 시뮬레이션 2. 내가 놓친 포인트처음 떠올린 접근 : 큐를 이용해 문제 조건을 그대로 따라가면서 카드의 이동 과정을 직접 구현하려고 했다. 오답 원인: x 3. 핵심 로직 & 해결 방법핵심 조건: 큐에 맨 앞 카드를 버리고, 그 다음 카드를 맨 뒤로 보내는 과정을 한장 남을 때 까지 반복한다.풀이 아이디어:1부터 N까지의 카드를 Deque에 순서대로 넣는다.맨 앞 카드를 하나 꺼내 버린다.카드가 남아 있다면, 다시 맨 앞 카드를 꺼내 맨 뒤로 보낸다. 이 과정을 반복한다.4. 구현 코드import java.util.*;public class Ma.. 2026. 4. 4.
[Java] 프로그래머스 - 프로세스 대기 큐에서 프로세스를 하나씩 꺼내서 더 높은 우선순위가 뒤에 있으면 다시 뒤로 보내고,없으면 실행할 때 내가 찾는 프로세스가 몇 번째로 실행되는지 구하는 문제. 1. 문제 유형큐, 구현, 시뮬레이션 2. 내가 놓친 포인트처음 떠올린 접근 : 맨 앞 값을 꺼낸 뒤에 배열을 순회하면서 더 큰 값이 있으면 그 값으로 넘어가고, 실행한 값은 0으로 바꾸는 식으로 생각했다. 오답 원인: 이 문제는 단순히 큰 값을 찾는 문제가 아니라 큐의 순서를 그대로 시뮬레이션해야 하는 문제였다.또한 처음 location 위치에 있던 프로세스 자체를 끝까지 추적해야 했다.queue의 사용법과 queue가 가능하다는 사실을 몰랐기 때문에 푸는게 오랜 시간이 걸렸다. 3. 핵심 로직 & 해결 방법핵심 조건: 현재 맨 앞 프로세스보.. 2026. 3. 25.