Python/algorithm

JadenCase 문자열 처리[프로그래머스]

baecode 2025. 4. 16. 11:16
반응형
TIL - JadenCase 문자열 처리

🧠 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