I would suggest not staying in St. Moritz (over priced) but staying in Celerina or Silvaplana or one of the other neighboring towns. You will get much better value for money.
If you check out
www.celerina.ch www.silvaplana.ch
you will find links to accommodation, most of it should be cheaper then in St. Moritz and they are only a few km's apart.
My 2 cents.