Implement a stack-based queue or solve a problem using queue data structures.
Implement process_queue(operations) using two stacks. Each operation is an array such as ["enqueue", value], ["dequeue"], or ["peek"]. Return the values produced by dequeue and peek, using null when either operation is attempted on an empty queue.
The input is a list of operation arrays. Return a list of outputs in the same order as output-producing operations.
def process_queue(operations):