- 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
- 제한 사항
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
def solution(s):
answer = ''
s_list = s.split(' ')
for i in s_list:
for j in range(len(i)):
if j % 2 ==0 :
answer += i[j].upper()
else:
answer += i[j].lower()
answer += ' '
return answer[:-1]
s = " try hello world "
① s_list = s.split(' ')
s 를 공백마다 split 로 나누어 리스트로 만들어 준다
>
s_list = ["try","hello","world"]
② for i in s_list:
for j in range(len(i)):
s_list 로 i를 반복해주는데,
i 의 길이 만큼 j 를 반복해준다.
③ if j % 2 ==0 :
answer += i[j].upper()
else:
answer += i[j].lower()
j 가 짝수이면 i 의 j 인덱스는 대문자, 그렇지 않으면 소문자
두번째 for 문 안의 조건이 실행되면
>
i 가 try 일때
인덱스가 0,1,2
인덱스 0 인 "t" 는 대문자
인덱스 1 인 "r" 은 소문자
인덱스 2 인 "y" 는 대문자
각각의 i 마다 위와 같은 코드가 실행되고
이 과정이 끝나면
answer = 'TrYHeLlOWoRlD'
이런 형태로 나오게 된다.
④ answer += ' '
이 후 첫번째 for 문이 실행되며
각각의 i 뒤에 띄어쓰기가 실행된다
>
answer = 'TrY HeLlO WoRlD '
⑤ return answer[:-1]
answer 의 -1 번째 인덱싱까지 슬라이싱 해줌으로써
>
'TrY HeLlO WoRlD'
가 리턴된다.
참고:
https://school.programmers.co.kr/learn/courses/30/lessons/12930
'파이썬 코드카타' 카테고리의 다른 글
크기가 작은 부분문자열 (0) | 2024.05.31 |
---|---|
삼총사 #combinations (0) | 2024.05.30 |
직사각형 별찍기 (0) | 2024.05.16 |
행렬의 덧셈 #list(map(lambda 매개변수:표현식),반복) (0) | 2024.04.24 |
문자열 다루기 기본 # isdigit() (0) | 2024.04.23 |