문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
def solution(s):
answer = ''
count = 0
for i in range(len(s)):
if s[i] == ' ':
answer += ' '
count = 0
else :
if count % 2 == 0:
answer += s[i].upper()
else :
answer += s[i].lower()
count += 1
return answer
- 처음에 split()으로 풀었다가 오답처리를 받았다. 당연히 공백은 하나일 것이라 생각하고 풀었기 때문이다. 공백이 한번에 여러개이더라도 동일하게 유지되어야 한다.
- 풀고나서 split(' ')로 처리하면 공백을 유지할 수 있다는 것을 알게 되었다. 다시 비슷한 상황을 마주한다면 사용해보도록 해야겠다.
참고
코딩테스트 연습 - 이상한 문자 만들기
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을
programmers.co.kr
'Problem Solving > Programmers' 카테고리의 다른 글
<Level 2> 구명보트 with 파이썬 (0) | 2021.07.08 |
---|---|
<Level 2> 주식가격 with 파이썬 (0) | 2021.07.06 |
<Level 1> 약수의 합 with 파이썬 (0) | 2021.07.01 |
<Level 1> 콜라츠 추측 with 파이썬 (0) | 2021.06.29 |
<Level 1> 하샤드 수 with 파이썬 (0) | 2021.06.26 |