From what I've learnt, ㄷ is pronounced /t/ at the start of a word or end of a syllable, and /d/ if it's at the start of a syllable. So I am a bit confused as to why the -다 at the end of some verbs (in dictionary form) are not pronounced as /da/.
- 살다 (to live) is pronounced [살ː다] - this is what I expect
- 좋다 (to be good) is pronounced [조ː타] - ㄷ is pronounced as /t/
- 먹다 (to eat) is pronounced [먹따] - ㄷ is pronounced as /t͈/ (but still somehow sounds like /d/)
Is there a way to know, without checking the dictionary each time, how -다 should be pronounced based on the word stem?