문제: 문자열 s 는 한 개 이상의 단어로 구성되어있고, 각 단어는 하나 이상의 공백 문자로 구분되어 있음.
각 단어의 짝수번째 알파벳은 대문자, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴(프로그래머스)
s | return |
try hello world | tRy hElLo wOrLd |
■ 실패한 답안
- enumerate 함수의 index 를 활용하여 홀/짝으로 구분하여 나눠지는 값이 짝수일 경우에는 대문자로 변환....그러나 이 해결 답안은 공백을 포함하여 변환하기 때문에 올바른 답이 아님.
def solution(s):
answer = ''
for idx, i in enumerate(s):
if idx % 2 == 0:
change = i.upper()
answer += change
else:
answer += i
return answer
■ 공백을 따로 뽑아내는 split() 함수와 len()으로 각 단어의 인덱스를 활용한 함수 구현
def toWeirdCase(s):
res = []
for x in s.split(' '):
word = ''
for i in range(len(x)):
c = x[i].upper() if i % 2 == 0 else x[i].lower()
word = word + c
res.append(word)
return ' '.join(res)
'기초지식 > 알고리즘' 카테고리의 다른 글
선택 정렬(Selection Sort) (0) | 2019.05.06 |
---|---|
문자열 다루기 기본 (0) | 2019.03.18 |
(약수의 합)자연수 n 을 입력받아 n 의 약수를 모두 더한 값을 리턴 (0) | 2019.01.28 |
str 타입의 '-12345' 를 int 타입으로 변환 (0) | 2019.01.21 |
가운데 글자 가져오기 (0) | 2019.01.19 |