글 작성자: 택시 운전사
반응형

🤔 이상한 문자 만들기

문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.

😃 나의 풀이

def solution(s):
    answer = ''
    lst = s.split(' ')
    for idx, string in enumerate(lst):
        for i in range(len(string)):
            if i%2 == 0:
                string = string[:i] + string[i].upper() + string[i+1:]
            else: string = string[:i] + string[i].lower() + string[i+1:]
        lst[idx] = string
    return " ".join(lst)

우선 split(' ') 메소드을 이용해서 빈칸을 기준으로 배열에 저장합니다.

그리고 각 문자열마다 짝홀에 맞는 작업을 시행해줍니다. 여기서 다시 한 번 상기시키자면 문자열의 경우 배열과 달리 그냥 대입하는 방법으로 문자를 변환하지 못합니다. 대신 위와 같은 방법으로 string 전체를 반환하는 방식으로 하거나 문자열을 배열로 바꿔서 작업하는 방법이 있습니다.

마지막으로, 이상한 문자가 된 문자열들을 " ".join(lst) 메소드를 이용하여 문자열 사이 빈칸이 있는 새로운 문자열로 만듭니다.

반응형