본문 바로가기

queue3

[ 프로그래머스 ] 등굣길 문제 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요. 제한 사항 격자의 크기 m, n은 1 이상 100 이하.. 2021. 2. 15.
[ JAVA ] Priority Queue ( 우선순위 큐 ) 총 정리 일반적인 자료구조의 큐는 FIFO ( First In First Out ) 선입선출 의 구조를 가지고 있습니다. 그러나 기존의 큐와는 다르게 우선순위 큐는 먼저 들어온 순서대로 나가는 것이 아니라 우선순위가 높은 엘리먼트가 먼저 나가는 구조를 가지고 있습니다. 기본적으로 힙 구조를 이용하여 구현하며 우선순위에 따라 최소 힙 / 최대 힙 으로 구현합니다. 내부 요소들은 힙 구조로 이진트리로 구성되어 있습니다. 삽입 시 -> 마지막 노드에 삽입 후 부모 노드와 비교하며 Swap 삭제 시 -> 우선순위가 가장 높은 루트 노드를 삭제 후 마지막 노드를 루트 노드에 올린 후 자식 노드들과 비교하며 Swap PriorityQueue 자료구조를 사용하기 전 import java.util.* 필수! import jav.. 2021. 2. 5.
[ JAVA ] Queue 총 정리 자료구조의 스택과 항상 비교되는 형태로 FIFO ( First In First Out ) 선입선출의 특징을 가지고 있습니다. BFS ( 그래프 넓이 우선 탐색 ) 에서 사용 JAVA에서 Queue 자료구조를 사용하기 위해서는 import java.util.* 필수! import java.util.*; Queue 선언 Queue queue = new LinkedList(); // linkedlist를 이용하여 int형 queue 선언 // 물론 다른 타입의 queue도 선언 가능 Queue에 값 삽입 Queue queue = new LinkedList(); queue.add(1); // queue에 값 1 추가 queue.offer(3); // queue에 값 3 추가 // add와 offer를 사용하여 .. 2021. 1. 31.