Lookup table is essentially a concept that is brought in to achieve greater color depth by using lesser amount of memory. The concept is achieved this way:
A framebuffer stores the color representation for every pixel on the screen. Its size will depend upon the screen resolution. Now to represent color on the screen for every pixel, a framebuffer would need some amount of memory. If it is dersired to represent more colors, then more bits (memory) would be needed for each pixel in framebuffer. For example, if we want to represent color in 24 bits, and screen has 80x80 pixels, then framebuffer would need 24 bits per pixel, so total of 80x80x24 bits, which is lot of memory.
A solution to this, is to use a lookup table. All the colors, 24 bit depth for example, are stored in lookup table.The framebuffer just stores if index of the entry in the lookup table, to represent color. So, the advantage is that, the bits per pixel in framebuffer is only as large as the bits needed to represent index of lookup table.
As can be seen abovem the framebuffer is just storing index of lookup table. The lookup table actually holds color representation. So size of framebuffer is reduced.
Now let us solve the question:
The question says
the frame buffer has 8 bits per pixel
This means that the maximum indexes that can be represented in the framebuffer are 256 (8-bits) entries.So, this means that Lookup table has maximum of 256 entries.
The question says
8 bits are allocated for each of the R,G,BR,G,B components
This means that the each entry in lookup table is of 24 bits ( 8 bits for each RGB).
24 bits = 3 bytes.
So the size of lookup table is
Number of entries x size of each entry
256 entries x 3 bytes each entry
768 bytes