문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
| s | return |
|---|---|
| "try hello world" | "TrY HeLlO WoRlD" |
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
def solution(s): answer = '' for i in s.split(' '): for j in range(len(i)): if j % 2 == 0: answer += i[j].upper() else: answer += i[j].lower() answer += ' ' return answer[:-1]
- 사용된 함수
split() : 구분자를 통해 문자열을 구분해줌
upper() : 문자, 문자열 내 대문자 구분
lower() : 문자, 문자열 내 소문자 구분
for i in s.split(' '):문자열 s에 대해 공백을 구분자로 구분하여 반복문 실행
ex) 문자열 s = 'try hello world'
실행 결과
try
helloe
world
for j in range(len(i)): if j % 2 == 0: answer += i[j].upper() else: answer += i[j].lower() answer += ' '
- i의 길이 만큼 반복문 실행
- i의 요소인 j가 짝수 번째 일때 i의 요소를 대문자로 구분하여 answer 변수에 차례로 적재하는 코드
- else 구문 : j가 홀수 번째 일때 i의 요소를 소문자로 구분하여 answer 변수에 적재
- answer += ' ' : 공백을 넣어줌으로 단어를 구분할 수 있게 해준다.