It should be option B
Process synchronization and mutual exclusion.
The concept is when one thread is entering into critical section,other thread should wait untill it finishes.So if here proper synchronization is not done,race condition will occur.
Therefore race condition is the result of improper synchronization problem which can be prevented by mutual exclusion and semaphore also.
But I think race condition is a undesirable situation/hazard/a special condition which may occur inside critical section.So it is NOT a problem whereas other two are problems.