[문제]

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

 

프로그래머스

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

programmers.co.kr

 

[풀이]

  1. 문자열을 split(' ') 함수로 쪼개 리스트에 담았다. 괄호안에 ' ' 가 있기 때문에 공백문자 1개를 기준으로 쪼갠다.
    문자열에 "Hello  Hi" 이런식으로 공백문자가 2개 들어있었던 경우 ["Hello", "", "Hi"] 이렇게 리스트가 만들어진다.
  2. 따라서 리스트 원소의 길이가 0이 아닐 경우 upper과 lower 함수를 이용해 대문자 소문자 조건을 충족한다.
  3. 리스트 원소 사이에 공백을 넣은 문자열을 반환한다.

처음에 split 함수에 ' ' 를 넣지 않아 통과하지 못했다. 꽤 고민하던 중 어이없는 실수로 답을 구해지 못했다는 걸 알았다..

 

 

[코드]

def solution(s):
    s = s.split(' ')
    for i in range(len(s)):
        if len(s[i]) != 0:
            s[i] = s[i][0].upper() + s[i][1:].lower()
    return ' '.join(s)