본문 바로가기
코딩테스트

[파이썬] JadenCase 문자열 만들기 [CODING TEST #56]

by ALTERww 2022. 8. 17.
320x100

https://school.programmers.co.kr/learn/courses/30/lessons/12951

 

 

처음엔 여백을 기준으로 split하여 첫 글자만 check하려 했으나, 공백문자가 여러 개인 경우와 마지막이 공백으로 끝나는 경우 등을 처리하지 못하여 enumerate를 이용했다.

해당 문자가 단어의 첫 글자인지 check하는 방법은 idx==0 or s[idx-1] == ' ' 이다. 첫 글자이거나 이전 글자가 공백이면 단어의 첫 글자가 된다.

첫 글자일 경우 대문자로 추가하고, 이외의 문자들은 소문자로 추가하도록 하면 된다.

 

def solution(s):
    answer = ''
    # 각 단어의 첫 알파벳만 check하고, 이후 단어들은 lower 처리.
    for idx, alpha in enumerate(s):
        if idx == 0 or s[idx-1] == ' ': # 첫 글자인지 check
            if alpha.isalpha() and alpha.islower(): # 소문자 알파벳이라면 대문자로 추가!
                answer += alpha.upper()
            else: # 숫자이거나 대문자라면 그대로 추가!
                answer += alpha
        else: # 첫 글자가 아니라면 소문자로 추가!
            answer += alpha.lower()
                
    return answer

댓글