문제설명

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]
  1. 받은 s를 전부 소문자로 만들어줍니다.
  2. split함수를 이용해서 띄어쓰기 단위로 L리스트에 단어를 넣어줍니다.
  3. 반복문을 이용해서 단어별로 앞글자만 대문자화해주는 capitalize함수를 사용해줍니다.
  4. 그렇게 앞글자만 대문자인 단어를 띄어쓰기를 해서 붙여줍니다.
  5. 이렇게 그대로 출력하면 글자 마지막에 띄어쓰기가 생기기 때문에 슬라이싱을 해서 글자 마지막 띄어쓰기 이전까지 반환합니다.

채점결과

레벨2_JadenCase문자열 다루기.PNG