본문 바로가기
코딩테스트 문제풀이(Python)

[프로그래머스] 이상한 문자 만들기 문제풀이 (파이썬)

by chanfficial 2022. 7. 26.

12930. 이상한 문자 만들기

 

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
 
 
 
제한 사항
  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
 
 
입출력 예
s return
"try hello world" "TrY HeLlO WoRlD"

 

 

문제풀이

def solution(s):
    answer = []
    s = s.split(' ')
    for i in range(len(s)):
        result = ''
        for j in range(len(s[i])):
            if j % 2 == 0:
                result += s[i][j].upper()
            else:
                result += s[i][j].lower()
        answer.append(result)

    return ' '.join(answer)

- 각 단어는 공백을 기준으로 구분되기 때문에 먼저 입력받은 문자열 s 를 공백을 기준으로 분리했다.

분리된 문자열 s 의 범위에서 반복문을 사용하여 첫 번째 단어의 알파벳이 짝수번째 알파벳이라면, 해당 알파벳을 대문자 로 변환해주는 upper() 를 사용했다.

반대로 알파벳이 홀수번째 알파벳이라면, 해당 알파벳을 소문자로 변환해주는 lower() 를 사용했다.

이렇게 각각 변환된 알파벳을 문자열 result 에 더해주고 최종적으로 완성된 result 를 answer 리스트에 추가하여 공백을 기준으로 answer 를 리턴하게 했다.