주어진 문자열을 각 단어의 첫 문자를 대문자로 나머지는 소문자로 만든 후 반환해주는 문제이다.
def solution(s):
arr = list(map(str, s.split(" ")))
for i in range(len(arr)):
if arr[i] != '':
arr[i] = arr[i].lower()
tmp = list(map(str, arr[i]))
if tmp[0].isalpha():
tmp[0] = tmp[0].upper()
arr[i] = ''.join(tmp)
return ' '.join(arr)
입력된 문자열(s)를 공백을 기준으로 나눠준 후 각 단어를 글자 별로 또 나눴다. 맨 처음에는 단어 별로 lower()와 upper()를 한 후 replace()를 하려고 했는데 "tomato"와 같은 단어의 경우 답이 제대로 나오지 않아서 문자로 나눈 후 ''.join()을 이용해서 문자열을 반환해 주었더니 테스트케이스를 통과했다.