The calculated distance (air line) between Kirkcaldy and Saint Andrews is approximately 21 miles respectively 33 kilometers.
By car or train, the actual journey to Saint Andrews is certainly longer, as only the direct route (as the crow flies) between Kirkcaldy and Saint Andrews has been calculated here.
Air line (approximately)
33 kilometers
18 nautical miles