Queue using Two Stacks

  • + 1 comment

    python sol. with lists:

    # Enter your code here. Read input from STDIN. Print output to STDOUT
    n = int(input())
    
    class Queue:
        def __init__(self):
            self.items = []
            
        def enqueue(self, value):
            self.items.append(value)
        
        def dequeue(self):
            if self.is_empty():
                return "Add some value to the Queue"
                
            self.items = self.items[1:]
            
        def get_head(self):
            if self.is_empty():
                return "Empty Queue"
                
            return self.items[0]
        
        def size(self):
            return len(self.items)
        
        def is_empty(self):
            return len(self.items) == 0
    
    
    queue = Queue()
    
    for _ in range(n):
        args = list(map(int, input().split()))
        if len(args) > 1:
            queue.enqueue(args[1])
        else:
            arg = args[0]
            if arg == 2:
                queue.dequeue()
            elif arg == 3:
                print(queue.get_head())