- JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다.
- 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- s는 길이 1 이상인 문자열입니다.
- s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
- 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )
입출력 예
s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week"
- 문자열을 쪼개어서 단어의 맨 앞이 숫자면 continue, 아니면 변환 하려했으나, 접근이 잘못되었다.
- capitalize라는 좋은 함수를 발견..
def solution_fail(s): answer = '' s = s.lower() string = s.split(' ') for word in string : word = list(word) if word[0].isdigit() : word.append(" ") answer += "".join(word) continue else : word[0] = word[0].upper() word.append(" ") answer += "".join(word) answer = list(answer) del answer[-1] answer = "".join(answer) return answer def solution(s) : answer = '' s = s.lower() string = s.split(' ') for word in string : word = word.capitalize() answer += word + " " return answer[:-1]
- 간단한 문제였으나 복잡하게 생각했다.
- 새로운 함수를 알게되었으니 성공적!