큐의 개념선입 선출, FIFO 구조(First In First Out)삽입하는 연산 : Enqueue(Add)꺼내는 연산 : Dequeue(Poll) 큐의 특성을 활용하는 분야먼저 들어온 것을 먼저 처리하는 큐의 동작 방식은 주로 여러 이벤트가 발생했을 때 발생한 순서대로 처리할 때 활용됨작업 대기열 : 네트워크 통신을 할 때 다수의 클라이언트에서 서버에 작업을 요청하면 서버는 요청이 들어온 순서대로 작업을 처리이벤트 처리 : 어떤 애플리케이션이나 시스템에서 사용자의 이벤트, 즉 키보드 입력이나 마우스 움직임을 처리할 때 큐의 ADTADT (Abstract Data Type, 추상 데이터 타입) : 데이터의 구현 방법을 명시하지 않고, 해당 데이터가 가져야 할 연산들을 정의 한 것 , 데이터 타입이 ..
🔗 표 편집문제풀이문제의 "이름" 은 이해를 위한 것이므로 "index" 로 접근"이동" 은 아래처럼 각 행마다 up, down 배열을 두어 상대적 위치값으로 두도록 함 1. 삭제해당열(k)의 up, down 값을 윗행, 아랫행의 값에 넣어줌k행의 up을 아랫행의 up에, k행의 down을 윗행의 down 값으로 함up[down[k]]=up[k];down[up[k]]=down[k];삭제된 행은 복구를 위해 스택에 담음 2. 복구stack을 pop해서 얻은 행(restore)을 이용해 up, down의 값을 변경down[up[restore]]=restore;up[down[restore]]=restore; 3. 맨 위, 맨 아랫행의 삭제와 복구위, 아래의 가상으로 공간을 1칸씩 늘려 인덱스가 벗어나지 않고..
🔗 프로세스import java.util.*;import java.util.Collections;class Solution { public int solution(int[] priorities, int location) { // index를 담는 큐 Queue queue=new LinkedList(); for(int i=0;i maxQueue=new PriorityQueue(Collections.reverseOrder()); for(int p: priorities){//우선순위 저장 maxQueue.offer(p); } // 몇 번째로 실행되는 지 int count =0; // ..
🔗 다리를 지나는 트럭import java.util.Queue;import java.util.LinkedList;class Solution { public int solution(int bridge_length, int weight, int[] truck_weights) { // bridge_length : 다리에 올라갈 수 있는 최대 트럭 수 // weight : 다리가 견딜수 있는 무게 // truck_weights : 트럭 별 무게 Queue bridge = new LinkedList(); int time = 0; // 총 걸린 시간 int bridgeWeight = 0; // 다리 위 총 무..
🔗 크레인 인형뽑기 게임문제풀이가까운 인형을 없애는 문제이므로 stack 을 이용해 문제를 해결한다. import java.util.Deque;import java.util.ArrayDeque;class Solution { public int solution(int[][] board, int[] moves) { // board : 인형 담긴 상태 // moves : 크레인을 작동 시킨 위치 // 사라진 인형의 개수 반환 int answer=0; Deque stack=new ArrayDeque(); // 크래인 작동 횟수 반복 for(int i=0;i