📚코딩테스트/🧑🏻‍💻Python

[프로그래머스] Level 1 이상한 문자 만들기 - Python

와이드윤 2023. 7. 17. 10:19
728x90
문제 설명

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

제한 사항
  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s return
try hello world TrY HeLlO WoRlD
입출력 예 설명

try hello world는 세 단어 try, hello, world로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 TrY, HeLlO, WoRlD입니다. 따라서 TrY HeLlO WoRlD 를 리턴합니다.

풀이

접근방법

  1. string을 split하여 list로 변환 한다.
  2. for loop를 통해 새로운 string에 변환한 것들을 추가한다.
  3. 그것을 리스트 (answer)에 추가해서 마지막에 string으로 다시 변환해준다.
  4. 각각의 elements마다 join 함수를 통해 공백을 추가해준다.
def solution(s):
    n_s = s.split(" ")
    answer = []
    
    for word in n_s:
        s = ""
        
        for i in range(0, len(word)):
            if i % 2 == 0:
                s += word[i].upper()
            else:
                s += word[i].lower()

        answer.append(s)
        
    return " ".join(answer)

9~12 line은 한 줄로도 가능하다.

s += word[i].upper() if i % 2 == 0 else word[i].lower()

 

 

728x90