Connection between CPU address bus and max amount of RAM
A 12 bit address bus means the computer can access $2^{12}$ unique blocks of memory.  Unstated in the problem is the size of each block, and without that information you cannot determine the maximum amount of ram.

Bulat also points out that there are other tricks that could be played, such as multiplexing the address bus.  If the address was sent in 2 cycles rather than 1, then $2^{24}$ blocks could be addressed.

Lacking any other information, and recognizing that this is a homework/test question we can make a few assumptions.  The first is that we're not doing anything exotic like multiplexing the address bus.  In a test-question setting, it is highly likely that they would call a multiplexed 12 bit bus a "24 bit bus" instead unless you were on a chapter specifically dedicated to clever address bus tricks.

The second assumption we have to make is the size of the block.  Since it isn't specified, there are two common assumptions we could make.  The first is that it is byte addressable, meaning each byte can be addressed individually as its own block.  In that case, there's a maximum of $2^{12}$ bytes of memory addressable.  The other common assumption is that they are addressable by machine word.  If you are working in a chapter on 16-bit machines, it might be 16-bit blocks (2 byte), so there'd be a maximum of $2^{12}\cdot 2 = 2^{13}$ bytes.

Given it is a test question, and your teacher is not evil, I would assume the simplest answer is likely correct.  I'd assume 1 byte blocks, and no exotic trickery, yielding a best answer of $2^{12}$ bytes.  If I was facing this in an industry setting, I'd find the datasheets on the processor to determine the exact answer.