본문으로 바로가기

이상한 문자 만들기

category 기초지식/알고리즘 2019. 3. 14. 16:33

문제: 문자열 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)