def solution(s):
s = s.lower()
num = [str(i) for i in range(10)]
# AZ = [chr(i) for i in range(ord('A'),ord('Z')+1)]
ss = [i for i in s]
for i in range(len(ss)):
if i==0 and ss[i] not in num:
ss[i] = ss[i].upper()
elif ss[i] in num:
pass
elif ss[i]==' ' and i+1!=len(ss):
ss[i+1] = ss[i+1].upper()
answer = ''.join(ss)
return answer
풀이
문장을 전부 소문자로 변경한 뒤 알파벳 하나하나를 다루는 문제이기 때문에 각 문자마다 리스트를 만들어줬다.
공백인 ' '을 기준으로 바로 뒤 알파벳을 ord로 변경 후 32를 더해 chr 함수로 작성할 수도 있긴 하지만 걍 간단하게 upper 썻다.
또 i == 0 and s[i]==숫자 일 경우엔 pass 하도록 조건문도 설정했다.
그리고 output으로 문장을 출력해야하는 문제에선 ' '.join(list) 방법을 많이 사용하는 중이다.