파이썬 알고리즘 : JadenCase 문자열 만들기

대문자 및 소문자

2024년 1월 22일 알고리즘 문제풀이

문제

난이도

Lv.2

코드

1
2
3
4
5
6
7
8
9
10
11
def solution(s):
    arr = [' '] + list(s)
    nums = ['1','2','3','4','5','6','7','8','9','0',' ']
    n = len(arr)
    for i in range(1,n):
        if arr[i-1] == ' ' and arr[i] not in nums:
            arr[i] = arr[i].upper()
        elif arr[i].isupper():
            arr[i] = arr[i].lower()
    answer = ''.join(arr[1:])
    return answer

단어의 가장 앞이 알파벳일 때, 대문자로 만들어줘야 한다. 처음엔 단어별로 끊어서 풀어보려 했지만 문제의 조건 상 연속된 공백문자가 나올 수 있어서 실패했다. 따라서 모든 글자를 잘게 쪼개서 공백문자 이후 알파벳이 나온다면, 단어의 시작인 알파벳이므로 대문자로 바꾸도록 했다. 그 외의 대문자가 나타날 경우 소문자로 바꿔주는 로직도 추가했다.