https://www.youtube.com/watch?v=D_fwSy5tRAY&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=7
FIFO 자료구조. 선입선출
원소 추가 제거 O(1)
const int Mx = 1000005;
int dat[MX];
int head = 0, tail = 0;
void push(int x) {
dat[tail++] = x;
}
void pop() {
head++;
}
int front() {
dat[head];
}
int back() {
return dat[tail - 1];
}
코딩테스트에선 push의 최대횟수가 정해져 있어서 굳이 원형 큐로 만들지 않아도 된다.
선형배열을 크게 만들면 됨.
간단한 큐 문제
이건 직접 만든 큐로 풀어봤다
간단한 큐 문제2
이건 STL 큐로 풀어봤다
파이썬으로 풀었던 문젠데 시간이 ㄷㄷ 완전 줄어듦
코테연습은 c++로..
근데 ios::sync_with_stdio(0) cin.tie(0) 안 하니까 시간 초과 났었음
입출력 동기화를 끊어주면 속도 차이가 진짜 큰가 보다
흠 큐 문제인 줄 몰랐으면 괜히 꼬아서 생각했을 것 같다.
쌓여진 숫자에서 pop하고 뒤로 보내는 일을
남은 숫자가 1보다 클 때까지만 반복해야 하니까
결국은 숫자를 다 담은 상태에서 시작할 수밖에 없는 문제