-
큐 : 한쪽 끝으로 자료를 넣고, 반대쪽에서는 자료를 뺄 수있는 선형 구조
push X: 정수 X를 큐에 넣는 연산이다.
pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
size: 큐에 들어있는 정수의 개수를 출력한다.
empty: 큐가 비어있으면 1, 아니면 0을 출력한다.
front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
https://www.acmicpc.net/problem/10845
10845번: 큐
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%2010845
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
큐는 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 댓글