320x100
https://school.programmers.co.kr/learn/courses/30/lessons/12951
처음엔 여백을 기준으로 split하여 첫 글자만 check하려 했으나, 공백문자가 여러 개인 경우와 마지막이 공백으로 끝나는 경우 등을 처리하지 못하여 enumerate를 이용했다.
해당 문자가 단어의 첫 글자인지 check하는 방법은 idx==0 or s[idx-1] == ' ' 이다. 첫 글자이거나 이전 글자가 공백이면 단어의 첫 글자가 된다.
첫 글자일 경우 대문자로 추가하고, 이외의 문자들은 소문자로 추가하도록 하면 된다.
def solution(s):
answer = ''
# 각 단어의 첫 알파벳만 check하고, 이후 단어들은 lower 처리.
for idx, alpha in enumerate(s):
if idx == 0 or s[idx-1] == ' ': # 첫 글자인지 check
if alpha.isalpha() and alpha.islower(): # 소문자 알파벳이라면 대문자로 추가!
answer += alpha.upper()
else: # 숫자이거나 대문자라면 그대로 추가!
answer += alpha
else: # 첫 글자가 아니라면 소문자로 추가!
answer += alpha.lower()
return answer
'코딩테스트' 카테고리의 다른 글
[파이썬] 점프와 순간 이동 - Summer/Winter Coding(~2018) [CODING TEST #58] (0) | 2022.08.18 |
---|---|
[파이썬] 2 x n 타일링 [CODING TEST #57] (0) | 2022.08.17 |
[파이썬] 더 맵게 - 힙(Heap) [CODING TEST #54] (0) | 2022.08.16 |
[파이썬] 영어 끝말잇기 - Summer/Winter Coding(~2018) [CODING TEST #53] (0) | 2022.08.13 |
[파이썬] 최댓값과 최솟값 [CODING TEST #52] (0) | 2022.08.12 |
댓글