-
큐 : 한쪽 끝으로 자료를 넣고, 반대쪽에서는 자료를 뺄 수있는 선형 구조
push X: 정수 X를 큐에 넣는 연산이다.
pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
size: 큐에 들어있는 정수의 개수를 출력한다.
empty: 큐가 비어있으면 1, 아니면 0을 출력한다.
front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
https://www.acmicpc.net/problem/10845
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%2010845
큐는 rear 와 front의 개념을 잡는데 시간이 소요되었고 그림을 그려가며 이해를 하였는데, rear 와 front를 모두 -1로 초기화하여 주고, 데이터를 push 하게 되면 rear를 증가시켜주어 다음 데이터 삽입 위치를 알려주고 pop을 하게 되면 front를 증가시켜 해당 위치의 데이터를 반환하여 최종적으로 rear와 front가 같게 되면 모든 데이터를 반환된 것을 확인할 수 있다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 2292 벌집 JAVA (0) 2021.11.03 Baekjoon 4673 셀프넘버 JAVA (0) 2021.11.03 Baekjoon 10828 스택 JAVA (0) 2021.11.03 Baekjoon 1158 요세푸스 문제 파이썬 (0) 2021.11.03 Baekjoon 1110 더하기 사이클 파이썬 (0) 2021.11.03 댓글