본문 바로가기

알고리즘/프로그래머스

[Python] JadenCase 문자열 만들기

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

# JadenCase 문자열 만들기
# 공백문자가 연속으로 나올 수 있다는 조건이 있는걸 확인못함
# 근데 도대체 공백문자가 연속인 문자열을 사용해야할 이유가 있는것인가....
def solution(s):
    s_split = s.lower().split()
    answer = []
    
    for i in s_split:
        if i[0].isdigit():
            answer.append(i)
            
        else:
            word = i.title()
            answer.append(word)
            
    answer = ' '.join(answer)
    return answer

# 다시 푼 것.
def solution(s):
    jaden = []
    answer = []
    word = ''
    for i in s.lower():
        if i==' ':
            if word != '':
                answer.append(word)
                word = ''
            answer.append(i)
            
        else:
            word += i
    answer.append(word)

    for j in answer:
        if j == ' ':
            jaden.append(j)
        elif j[0].isdigit():
            jaden.append(j)
        else:
            jaden.append(j.title())
                
    answer = ''.join(jaden)
    return answer


# 위 두 개는 다 틀림.....
# 두 번째 풀이는 테스트 케이스 한 개에서 오답인데
# 또 다른 풀이
def solution(s):
    s = s.split(" ")
    for i in range(len(s)):
        s[i] = s[i][:1].upper() + s[i][1:].lower()
    return ' '.join(s)