문제
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한조건
입출력
풀이
문제가 처음 주어졌을 때, 공백 이후 대문자만 봐서 대문자로 입력 된 알파벳을 소문자로 바꿔줘야 한다는 것을 간과하고 있었다.
처음엔 list로 변환해서 공백을 찾은 후 triger를 True로 바꿔주고 변환하고 이런식으로 했는데 너무 코드가 더러워지고 일단 결론적으론 틀렸다..
내장함수인 capitalize()를 이용하여 해결하였고 join()도 string으로 바꿔줄 수 있다는 것을 알았다.
join은?
'구분자'.join(list)
ex) answer = '_'.join(['a','b','c'])
-> answer = "a_b_c" 가 된다.
#문제 풀이 코드
1. 첫번째 코드
def solution(s):
s = s.split(" ")
for i in range(len(s)):
s[i] = (s[i][:1].upper() + s[i][1:].lower())
#첫 글자만 대문자, 그 이후 글자는 lower()
return ' '.join(s)
2. 두번째 코드
def solution(s):
s = s.split(" ")
for i in range(len(s)):
s[i] = s[i].capitalize()
return ' '.join(s)