-1번: 나의 풀이
def solution(s):
ans = ''
ck = False
for x in range(len(s)):
if s[x] == ' ':
ans += ' '
ck = True
k = x + 1
else:
if ck:
if (x-k) % 2:
ans += s[x].lower()
continue
else:
if x % 2:
ans += s[x].lower()
continue
ans += s[x].upper()
return ans
- 2번: 1번 성공 후 참고한 풀이
def solution2(s):
return ' '.join([''.join([c.upper() if i % 2 == 0 else c.lower() for i, c in enumerate(w)]) for w in s.split(' ')])
- 3번: 확인!
- 문제 꼼꼼히 읽기! (처음에 실패가 떠서 왜지? 했는데, 소문자->대문자 부분을 놓쳤다)
- 만족한 부분: O(n^2)가 아니라 O(n)의 시간 복잡도로 해결!
'> 알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
lv1-직사각형 별찍기 (python, 파이썬) (0) | 2020.10.22 |
---|---|
lv1-서울에서 김서방 찾기 (python, 파이썬) (0) | 2020.10.22 |
lv1-약수의 합 (python, 파이썬) (0) | 2020.10.21 |
lv1-수박수박수박수박수박수? (python, 파이썬) (0) | 2020.10.21 |
*lv2-타겟 넘버 (python, 파이썬) (0) | 2020.10.20 |
댓글