Queue
[Java] 프로그래머스 Lv.2 : 주식가격
https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 풀이 for문으로 해당 초 단위의 주식가격과 그 이후의 주식가격을 비교하면서 가격이 떨어지기 전까지의 시간을 센다. for문이 끝나면 answer 시간(cnt)을 넣어주고 초기화 시켜준다. 큐에서 해당 초단위를 poll 시켜주고 해당 초 단위 위치(j)를 증가시킨다. import java.util.*; class Solu..
[Java] 프로그래머스 Lv2 : 프린터
https://programmers.co.kr/learn/courses/30/lessons/42587?language=java 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 풀이 인쇄물의 우선순위와 위치를 저장한 Print 클래스를 만들어 큐에 넣어준다. 우선순위가 들어있는 배열 priorities을 정렬하고, 현재 큐에 들어있는 인쇄물의 우선순위와 가장 큰 우선순위(priorities[j])와 비교한다. 현재 인쇄대기 문서의 우선순위가 가장 크다면 인쇄한다. ( j 와 answer 증가) 이때, 대기문서의 위..
[Java] 스택(Stack)과 큐(Queue) Java로 구현하기
이번 포스팅에서는 스택과 큐를 자바에서 구현하는 방법에 대해 설명하려고 한다. 스택(Stack)과 큐(Queue)의 대한 기본적인 개념은 이전 포스팅에 정리 했었다. 자바에서 Stack 사용하기 자바에서 스택은 Stack 클래스를 구현하여 제공하고 있다. Stack st = new Stack(); Stack의 메서드 메서드 설명 boolean empty() Stack이 비어있는지 확인 Object peek() Stack의 맨 위에 저장된 객체를 반환 pop()과 달리 Stack에서 객체를 꺼내지 않음 비었을 때는 EmptyStackException 반환 Object pop() Stack의 맨 위에 저장된 객체를 꺼냄 비었을 때는 EmptyStackException 반환 Object push(Object ..
[Data Structure] 큐(Queue)란?
큐(Queue) 란? Queue는 차례를 기다리는 사람이나 승용차의 열 이라는 의미도 가지고 있는데, 이런 대기열은 줄을 선 순서대로 앞에서 부터 빠져나가게 된다. 이처럼 큐는 나중에 집어넣은 데이터가 먼저나오는 스택과는 반대되는 개념으로, 가장 먼저 들어온 데이터가 가장 먼저 나가게 되는 구조이다. 따라서 큐는 '선입선출 방식의 자료구조', 또는 'FIFO(First in First Out)의 자료구조 라고 한다. 데이터를 넣는 것은 Enqueue, 반대로 데이터를 꺼내는 것을 Dequeue 라고 하며 새로운 데이터가 들어가는 위치는 가장 뒤인 Back에 들어가게되고, 데이터 나가는 위치는 가장 앞인 Front에서 꺼낸다. 큐 연산 - enqueue : 큐에 데이터를 저장함 - dequeue : 큐의 ..