반응형
🧠 TIL - JadenCase 문자열 처리
오늘은 문자열을 JadenCase로 바꾸는 문제를 풀었다.
핵심은 단어별로 첫 글자는 대문자, 나머지는 소문자로 만드는 거고,
숫자로 시작하는 경우는 소문자만 처리하면 된다.
📌 예시
input : "3people unFollowed me"
output: "3people Unfollowed Me"
💡 핵심 로직
def solution(s):
answer = ''
for i in s.split(" "):
if i == "":
answer += " "
elif i[0].isalpha():
answer += i[0].upper() + i[1:].lower() + " "
else:
answer += i[0] + i[1:].lower() + " "
return answer[:-1]
😵 런타임 에러 원인
s.split(" ")
은 연속된 공백을 유지함 →['hello', '', 'world']
이런 형태i[0]
접근 시i == ""
이면 IndexError 발생함- 그래서 무조건
i == ""
체크 먼저 해야 함
🔥 더 깔끔한 방식
def solution(s):
return ' '.join(word.capitalize() if word else '' for word in s.split(' '))
capitalize()
는 첫 글자 대문자 + 나머지 소문자 처리 자동으로 해준다.
공백 보존도 된다는 점에서 더 깔끔하게 처리 가능하다.
✅ 정리
- 문자열 split 시, 공백 유지가 필요한 경우
split(" ")
로 처리 - 빈 문자열이면 반드시 예외처리 필요
capitalize()
활용하면 실수 줄이고 가독성 좋아짐
반응형
'Python > algorithm' 카테고리의 다른 글
프로그래머스 신규 아이디 추천 (0) | 2025.04.21 |
---|---|
N초 동안 가능한 스킬 조합 수 구하기 (0) | 2025.04.20 |
과자 나눠주기 [백준] (0) | 2025.04.14 |
백준 병든 나이트 (0) | 2025.04.13 |
측정할 수 없는 최소 무게 (0) | 2025.04.10 |