728x90
https://programmers.co.kr/learn/courses/30/lessons/12930
출처 : 프로그래머스
def solution(s):
answer = ''
i = 0 #각 단어 인덱스
for ch in s:
if ch == ' ': # 빈칸 체크
answer += ch
i = 0 # 빈칸이면 계속 단어 인덱스 0
else: # 빈칸 아니면
if i%2 == 0:
answer += ch.upper()
else:
answer += ch.lower()
i+= 1
return answer
def solution(s):
answer = ''
for word in s.split(" "):
n = ''
for i in range(len(word)):
if i%2 == 0:
n += word[i].upper()
else:
n += word[i].lower()
answer += (n+" ")
return answer[:-1]
풀이
두 방법으로 풀었는데 비슷하다.
이 문제에서 주의할 점은 단어 사이의 공백이 하나만 있다는 것이 아니라는 점이다.
하나 이상의 공백을 갖고 있다.
그래서 모든 공백을 없애주고 하나의 공백으로만 문자열을 이어 붙이며 새로운 단어일 때 인덱스가 다시 0부터 시작하며 따져줘야 한다.
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 최대공약수와 최소공배수 python (0) | 2022.04.04 |
---|---|
[프로그래머스] 시저 암호 python (*) (0) | 2022.04.02 |
[프로그래머스] 행렬의 덧셈 python (0) | 2022.04.02 |
[프로그래머스] 문자열 내 마음대로 정렬하기 python (0) | 2022.04.02 |
[프로그래머스] 같은 숫자는 싫어 python (0) | 2022.04.02 |