Where should I go in Thailand since I only can go for three weeks. Should I only stay in Thailand or is there enough time to travel to another country such as Cambodia?
Personally I would stay in Thailand with only three weeks. Have a couple of days in Bangkok, then a week travelling North, perhaps stopping at Ayuttaya (old temples) and Kanchanaburi (jungle and Bridge on the River Kwai) on the way to Chiang Mai for some jungle trekking and elephant riding. Then go back down (consider flying) to spend some time on two or more islands e.g. Ko Tao if you want to do diving, Ko Samui etc.
My advice is to start in Bangkok for a few days and end up there for a final night or two. In the beginning you can purchase any transportation you need. I don't think you can go too wrong with Bangkok, a beach area and a trip up north to Chiang Mai. A final night in Bangkok will allow you to see more of the city and be only a short taxi ride to the airport and a final chance to purchase any needed souvenirs.
In Thailand you can get tours through local travel agencies. There are many of these travel agencies all over the cities popular with tourists. Even some hotels have tour desks.
A simple Google check will give you some ideas on what to visit. Wait until you get to Thailand to change any of your currency over to Thai baht for the best rate. There are bank money changers at the airport 24 hours a day. If you intend to use a debit or credit card remember to notify your bank where you will be on holiday.
When you get around to asking for hotel suggestions or even areas to stay at in Bangkok tell us your price range. If you are quite young maybe a hotel in the Khao San Road area will be okay for you. But there are other areas of Bangkok with hotels in all price ranges where you can also use the Skytrain. (Overhead rail service.)
I would agree stick to Thailand for the 3 weeks, if you're going to play it by ear then you could always do a last-minute trip to Angkor Wat (plenty of tours offered from Thailand) for a few days if you have had enough of Thailand (I doubt it 😊.
I decided to go to Chiang Mai straight after my plane arrived in Bangkok, we went by plane (AirAsia) but trains are good too! BKK is hectic and we preferred a more laidback start to our trip. Chiang Mai is lovely, not as warm and you can do some trekking in the area to local villages, gorgeous nature...etc. Ayutthaya is wonderful too, we skipped Kanchanaburi but hear that is impressive.
Take your time to explore Bangkok, we've stayed in Khao San road but I prefer staying in a more quiet area (I need my hours of sleep), there are amazing hotel deals for really luxurious businessy hotels, Sukhumvit area for example, and getting around the city is easy by Skytrain or express boat to KSR (and nice views along the river!). I stayed in Sukhumvit on a previous trip and we used that stay to really pamper ourselves and escape from the busy streets. We then went to KSR for shopping, drinks etc.
For beaches you can do some island hopping, plenty to choose from. Or if you want to stay closer to BKK Ko Chang is a nice island, just a few hours by bus. Or a little quieter still, Ko Samet.
Have a great trip!
If you do spend some time in Bangkok, definitely check out two of the most spectacular bars in the world. Both are roof top bars at the top of skyscrapers, one aptly named Vertigo, and one called Sirocco. You can go there for dinner too. Very romantic....
I'm going to disagree only in that you can get a direct flight BKK to Siem Reap Cambodia - you're so close to the temples of Angkor! Even if you only spend 3 nights in Cambodia, you.will.not.regret.it. We really loved the place, the temples are mystical and Siem Reap an easy city. The Villa Siem Reap was a fantastic place to stay there. Anyway, imho, if you can afford to throw money at the logistics, that direct flight makes it all very easy. We also loved Chiang Mai and Pai in the north of Thailand, far away from the vibrant chaos of Bangkok. The street food and Sunday walking streets of Chiang Mai are a hoot. Have a blast!