문제설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하면 됩니다.
제한조건
- s는 길이 1 이상인 문자열입니다.
- s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
- 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )
예시
- "3people unFollowed me"이 입력되었을 때 -> "3people Unfollowed Me"가 반환
- "for the last week"가 입력되었을 때 -> "For The Last Week
"가 반환
문제해설
접근방식
우선 대문자가 되어있는 부분을 소문자화해야해서 미리 소문자로 다 만들어주고, 띄어쓰기 단위로 단어를 나눈 다음, 그 단어별로 앞자리를 대문자화해줍니다.
def solution(s):
s = s.lower()
L=s.split(" ")
answer = ""
for i in L:
i= i.capitalize()
answer+= i+" "
return answer[:-1]
- 받은 s를 전부 소문자로 만들어줍니다.
- split함수를 이용해서 띄어쓰기 단위로 L리스트에 단어를 넣어줍니다.
- 반복문을 이용해서 단어별로 앞글자만 대문자화해주는 capitalize함수를 사용해줍니다.
- 그렇게 앞글자만 대문자인 단어를 띄어쓰기를 해서 붙여줍니다.
- 이렇게 그대로 출력하면 글자 마지막에 띄어쓰기가 생기기 때문에 슬라이싱을 해서 글자 마지막 띄어쓰기 이전까지 반환합니다.
채점결과