풀이 과정


  1. 순차적으로 접근하면서 문자열의 첫번째를 숫자인지 알파벳인지 체크

  2. 숫자가 아니라면 첫번째 대문자, 맞다면 그대로 저장

  3. 나머지 문자열들은 소문자로 변환하여 저장

  4. 공백(" ") 만날 시 저장 및 문자열 초기화


def solution(s):
    word = False # 문자열 상태 저장
    answer = ''
    for i in s:
        if not word: # 첫번째 자리
            if i.isdigit(): # 첫번째 자리가 숫자
                answer += i
                word = True
            elif i == ' ': # 공백(첫번째 자리가 아님)
                answer += i
                continue
            else: # 첫번째 자리가 알파벳
                answer += i.upper() # 대문자
                word = True
        else:
            if i == " ":
                answer += i
                word = False
            else:
                answer += i.lower()


    return answer

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

'알고리즘[Python] > 프로그래머스' 카테고리의 다른 글

[ Lv 3 ] 가장 먼 노드  (0) 2021.07.12
[ Lv 2 ] N개의 최소공배수  (0) 2021.07.11
[ Lv 2 ] 행렬의 곱셈  (0) 2021.07.10
[ Lv 2 ] 최댓값과 최솟값  (0) 2021.07.09
[ Lv 2 ] 거리두기 확인하기  (0) 2021.07.08

+ Recent posts