https://programmers.co.kr/learn/courses/30/lessons/12930
[정답]
def solution(s):
answer = ''
new_s = s.split(' ')
for i in new_s:
for j in range(len(i)):
if j%2==0:
answer+=i[j].upper()
else:
answer+=i[j].lower()
answer+=' '
answer=answer[:-1]
return answer
처음에는 쉬운 문제라고 생각했지만, 주의해야 할 것이 조금 있는 문제이다.
1.
제한 사항) 문자열 전체의 짝/홀수 인덱스가 아니라, 단어별로 짝/홀수 인덱스를 판단해야 함.
문제를 잘 읽고 풀도록 하자...
2.
단어 한 개가 대/소문자 변경이 완료되었을 때 공백을 더해주었다.
이럴 경우, 맨 마지막에 공백이 하나 더해진다는 문제가 생긴다.
ex) 정답은 "TrY HeLlO WoRlD" ↔ 출력은 "Try HeLlO WoRlD "
이런 문제점을 해결하기 위해, answer을 출력하기 전에 answer=answer[:-1]을 해주었다.
answer[:-1]는 answer의 처음부터 (-1-1)자리까지를 의미한다. 즉 마지막 자리는 제외된다.
'알고리즘 공부 > 프로그래머스 > Python3' 카테고리의 다른 글
[프로그래머스] 서울에서 김서방 찾기 (0) | 2020.11.22 |
---|---|
[프로그래머스] 자릿수 더하기 (0) | 2020.11.22 |
[프로그래머스] 시저 암호 (0) | 2020.11.22 |
[프로그래머스] 문자열 다루기 기본 (0) | 2020.11.21 |
[프로그래머스] 문자열 내 p와 y의 개수 (0) | 2020.11.21 |