Since page offset is of size 12 bit and memory is byte addressable. So we can say that page size=2^12 Byte=4KB.
Now process needs 5 pages of page no.
0x 00000 and 0x 00001 for code,
0x 00400 and 0x 00401 for data, and
0x FFFFF for stack.
Now for mapping above pages in to frames we need one outer page table and two inner page tables(One inner page table needed for mapping all these four pages
0x 00000, 0x 00001, 0x 00400 and 0x 00401, and another inner page needed for mapping 0x FFFFF).
So, total no of page table needed for above process is 3.
The amount of memory required for storing the page tables of this process is 3*4KB = 12KB