프로그래머스(Python) 풀이/Level.2

프로그래머스(Python) 12951번 JadenCase 문자열 만들기 풀이

개발윗미 2022. 5. 4. 19:54

Python으로 구현한 12951번 JadenCase 문자열 만들기 문제 풀이입니다.

 

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

 

코딩테스트 연습 - JadenCase 문자열 만들기

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고

programmers.co.kr


def solution(s) :
    answer = ''
    for i in range(len(s)) :
        if i == 0 :
            if s[i].isnumeric() :
                answer += s[i]
                continue
            else :
                answer += s[i].upper()
                continue
        if s[i] == ' ' :
            answer += ' '
            continue
        if s[i-1] == ' ' :
            answer += s[i].upper()
        else :
            answer += s[i].lower()

    return answer

 

1. 전달받은 s 문자열의 문자를 하나씩 확인하는데, i가 0일 경우(가장 첫번째 요소를 확인 중이라면) 이와 같은 작업을 수행한다.

  - 해당 문자가 숫자일 경우 answer에 그대로 이어붙이고 continue 한다.

  - 해당 문자가 숫자가 아닐 경우 대문자로 변환한 문자를 answer에 이어붙이고 continue 한다.

 

2. 현재 확인하고 있는 문자가 공백일 경우 단순히 answer에 공백을 이어붙이고 continue 한다.

 

3. 현재 확인하고 있는 문자의 이전 문자가 공백이었을 경우 단어의 시작이므로 현재의 문자를 대문자로 변환하여 answer에 이어붙인다.

 

4. 이전 문자가 공백이 아닐 경우 현재의 문자를 소문자로 변환하여 answer에 이어붙인다.