swift solution to problem 2