
😎풀이
- 배열을 통해 환형 큐 생성
- 배열 크기를 기준으로 비었거나, 꽉 찬 경우를 처리
- 꽉 찬 상태가 아니라면, 요소 추가 가능
- 비어있는 상태가 아니라면, 요소 제거 가능
- 최전방, 최후방 요소를 반환하고 불가한 경우
-1 대신 반환
class MyCircularQueue {
private queueSize: number
private queue: number[]
private frontIdx: number
constructor(k: number) {
this.queueSize = k
this.queue = []
}
enQueue(value: number): boolean {
if(this.isFull()) return false
this.queue.push(value)
return true
}
deQueue(): boolean {
if(this.isEmpty()) return false
this.queue.shift()
return true
}
Front(): number {
return this.queue[0] ?? -1
}
Rear(): number {
return this.queue[this.queue.length - 1] ?? -1
}
isEmpty(): boolean {
return this.queue.length === 0
}
isFull(): boolean {
return this.queue.length === this.queueSize
}
}