[파이썬] str.capitalize() [프로그래머스 JadenCase 문자열 만들기]
2023. 2. 8. 10:30ㆍ프로그래밍/파이썬
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12951
위 문제를 푸는 도중, 절반의 Test case에서 오답이 나는 것을 확인. 문제의 제한조건을 체크 해 보니 '공백문자가 연속해서' 나올 수 있습니다. 라는 조건이 있었고, 처음에는 연속해서 나오더라도, 정제를 해야하는 걸까 ? 하고 고민했지만, 그건 아닌 것 같아서 바로 단어단위로 쪼개는 것 라인을 수정
s.split() --> s.split(" ")
이렇게 고치는 것만으로도 코드가 해결된다. 하지만 다른사람의 코드를 확인하다 보니, 좀더 간결하게 쓸 수 있는 메서드가 있는것을 확인하였다. 말 그대로 str에서 첫 글자만 대문자로 변환해주는 것이니, 직접 인덱스 번호로 .lower() / .upper()를 쓰는거보다 훨씬 간결해진다.
코드 전문 첨부
# 핵심 : 공백문자가 연속으로 나올 경우 공백도 줄임 없이 살아있어어함.
# 1. Str - Capitalize 내장함수 사용 시 첫글자만 대문자로 변경!
def solution(s):
res = []
s = s.split(" ") # 공백문자가 연속해서 나올 경우를 고려
for word in s :
res.append(word.capitalize()) # ['For', '', 'The', '', 'Last', '', 'Week']
return " ".join(res)
반응형