https://school.programmers.co.kr/learn/courses/30/lessons/12930
1. 내가 작성한 코드
def solution(s):
word = s.split(" ")
a = ''
for i in word:
for j in range(len(i)):
if j % 2 == 0:
a += i[j].upper()
else:
a += i[j].lower()
a += ' '
return a[:-1]
처음에 word = s.split()으로 구분을 하고, return 할 때 rstrip() 했더니 일부의 테스트케이스에서 오류가 났다.
다양한 예외케이스를 고려해봤으나 정상적으로 출력이 되는 상황?
그래서 프로그래머스에 있는 질문ㄱㅔ시판에서 나와 같은 문제를 겪는 사람을 찾았고, 힌트를 얻을 수 있었다.
문제는 "각 단어는 하나 이상의 공백문자로 구분되어 있습니다" 즉, 두 개 이상의 공백문자로 구분되어 있을 때는 같은 개수의 공백문자가 함께 출력되어야 한다.
따라서 split() => split(" ")으로 바꾸고, a.rstrip() => a[:-1]로 return 받으니 정상적으로 출력됐다!
'🔅코딩테스트 공부🔅 > ❗프로그래머스(Lv.1)' 카테고리의 다른 글
[프로그래머스] Level1 체육복(with python) (0) | 2023.02.07 |
---|---|
[프로그래머스] Level1 최대공약수와 최소공배수(with python) (0) | 2023.02.02 |
[프로그래머스] Level1 문자열 다루기 기본(with python) (0) | 2023.01.31 |
[프로그래머스] Level1 문자열 내 마음대로 정렬하기(with python) (0) | 2023.01.31 |
[프로그래머스] Level1 문자열 내 p와 y의 개수(with python) (0) | 2023.01.30 |
댓글