728x90
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다.
각 단어는 하나 이상의 공백문자로 구분되어 있습니다.
각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
https://school.programmers.co.kr/learn/courses/30/lessons/12930
제한 사항
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
예제
s | return |
"try hello world" | "TrY HeLlO WoRlD" |
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
문제 풀이
def solution(s):
ans = []
for word in s.split(' '): # 단어 기준으로 split
res = '' # 단어 처리 결과 저장할 변수 선언/초기화
for char_index, char in enumerate(word):# 단어의 문자 반복문
if char_index % 2 == 0: # 인덱스가 짝수일 때 upper
res += char.upper()
else: # 인덱스가 홀수일 때 lower
res += char.lower()
ans.append(res) # 처리 결과 ans에 추가
return ' '.join(ans) # 공백 포함하여 join
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90