본문 바로가기

[Structure] Queue (First In First Out) Queue FIFO(First In First Out)의 성질을 가진 자료구조 먼저 들어간 데이터가 먼저나오게되는 구조 사용예 우선 순위가 같은 작업 예약 (프린터의 인쇄 대기열) 은행 업무 콜센터 고객 대기시간 주로 BFS(너비 우선 탐색)에 사용된다. 자주 사용되는 함수 add : 데이터를 넣는것 poll : 데이터를 꺼냄 (최상단 자료를 지우고 반환한다.) peek : 데이터를 꺼냄 (최상단 자료를 지우지 않고 반환한다.) Queue의 구조 Queue의 선언 Queue의 사용(연습문제) 1. Queue의 구조 위 그림은 Queue의 구조이다. Stack과는 달리 데이터가 들어오는곳과 나가는곳이 다르다. 데이터들을 add하면 먼저 들어간 데이터가 먼저 나가게된다. 데이터를 red, white, bla.. 더보기
[Programmers] Level2. 다리를 지나는 트럭 (Java) Queue의 개념을 알고있어야 풀이가 가능한 문제이다. 풀이 과정 다리가 비어있을때 큐에 트럭을 담아주고 트럭의 무게값을 변수에 합산해준다. 다리가 꽉차 있을경우 poll()을 사용하여 맨앞 트럭을 빼주고 무게값에서 빠진 트럭의 무게만큼 빼준다.(poll()을 사용하게 될경우 큐의 앞의 제거하고 반환해주게된다.) 두 가지 경우를 모두 벗어나고, 무게가 초과하는 경우 큐에 0을 담아주어 트럭을 한칸 밀어준다. 두 가지 경우를 모두 벗어나고, 무게가 초과하지 않는 경우 다리가 비었을때와 동일하게 큐에 트럭을 담아주고 무게값을 합산해준다. 풀이 코드 import java.util.LinkedList; import java.util.Queue; class Solution { public int solution(.. 더보기