[Py_Lv1] 이상한 문자 만들기

문제 설명

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

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

입출력 예

접근법

직관적이지만 단순 무식하게 문제를 풀어보았다.

여기서 핵심이 되는건 주어진 s값을 공백을 기준으로 나누어 리스트로 담아주는 split(' ')
함수와 리스트값 내 순서와 값을 전달해주는 enumerate() 함수이다.

그 이후에는 홀수와 짝수를 구분하여 소문자와 대문자로 값을 변경하여
새로운 리스트에 저장해주면 된다.

하지만, 이과정에서 하나 기억해야될 부분은 공백이다.

하나의 단어를 소문자와 대문자로 분류한 이후 공백을 추가해주면된다.

마지막에 추가되는 공백은 join()함수를 이용시 [:-1]로 슬라이싱해주어
출력해주면 해결할 수 있다.

=============================================================

def solution(s):
    answer = []
    l = s.split(' ')
    
    for a in l:
        for i, b in enumerate(a):
            if i % 2 == 0:
                answer.append(b.upper())
            else :
                answer.append(b.lower())
        answer.append(" ")
        
    return ''.join(answer[:-1])

좋은 웹페이지 즐겨찾기