programmers.co.kr/learn/courses/30/lessons/12930
내 풀이
def solution(s):
a = ''
cnt = 0
for i in range(len(s)):
if s[i] == ' ':
cnt = 0
a += s[i]
elif cnt % 2 == 0:
cnt += 1
a += s[i].upper()
else:
cnt += 1
a += s[i].lower()
return a
처음엔 %2 == 0일때 대문자로 바꾸어 주었다.
하지만 계속 통과하지 못했고 문제를 다시 읽어보니 공백을 시작으로 대문자가 시작된다고 한다.
그래서 공백이 있을때 카운트를 0으로 초기화 하였고 문자가 있을 때마다 +1을 시켜주어 홀, 짝을 구분하였다.
근데 또 통과되지 않았었는데 문제를 다시 생각해보니 주어지는 s가 소문자만 있을거라는 조건이 없었다.
그래서 홀수일때 소문자로 바꿔주는 lower를 사용하였더니 통과가 되었다.
다른 사람 풀이
def toWeirdCase(s):
return " ".join(map(lambda x: "".join([a.lower() if i % 2 else a.upper() for i, a in enumerate(x)]), s.split(" ")))
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Level1] 제일 작은 수 제거하기 (0) | 2021.04.28 |
---|---|
[Level1] 수박수박수박수박수박수? (0) | 2021.04.28 |
[Level1] 예산 (0) | 2021.04.27 |
[Level1] 같은 숫자는 싫어 (0) | 2021.04.27 |
[Level1] 폰켓몬 (0) | 2021.04.12 |