JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
입출력 예
s | return |
---|---|
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
def solution(s):
answer = []
for word in s.lower().split(" "): # ' ' 기준으로 데이터를 분리
answer.append(word.capitalize()) # caplitalize()를 통해 앞 문자만 대문자로 변경
return " ".join(answer) # join()을 사용해 리스트를 문자열로 변경
print(solution(" test TTTs ")) # result: ' Test Ttts '
s는 '알파벳'과 '공백(" ")'으로 이루어져 있다.
=> s가 공백으로 시작한다면 공백도 똑같이 있어야 한다.
=> s.split()
으로 하면 안 되고, s.split(" ")
으로 해야 한다.
=> s.split()
은 공백이 시작과 끝에 있다면 ['test ttts']
로 분리.
=> s.split(" ")
은 공백이 시작과 끝에 있다면 ['', '', 'test', '', 'ttts', '']
으로 분리.
capitalize()
를 통해 첫문자만 대문자로 나오도록 변환
def solution(s):
answer = []
for word in s.lower().split():
answer.append(word[0].upper() + word[1:]) # 문자의 첫번째만 upper()를 통해 대문자로 변경
return " ".join(answer)
이 코드는 s.split()
을 했기 때문에 s의 공백은 없애고, 단어들만 나오도록 분리한다.
그렇기 때문에 오류가 발생한다.
def solution2(s):
return " ".join([i.capitalize() for i in s.lower().split(" ")])