[Programmers] 이상한 문자 만들기 (Python)

Mino·2021년 9월 28일
0

Programmers

목록 보기
1/8
post-thumbnail

문제

https://programmers.co.kr/learn/courses/30/lessons/12930


접근 방식

  1. 주어진 문자열을 split함수로 슬라이스하여 단어를 리스트로 저장
  2. 반복문을 이용하여 단어의 짝수 인덱스 upper, 홀수 인덱스 lower
  3. join함수로 단어 사이에 공백을 추가하며 합친 문자열 return



초기 코드

def solution(s):
    words = s.split(" ")
    for word in words:
        for i in range(len(word)):
            if i % 2 == 0:
                word[i] = word[i].upper()
            else:
                word[i] = word[i].lower()
    return " ".join(words)



문제점

Python에서는 문자열을 인덱스로 접근하여 직접 변경하는 것이 불가능.
-> 새로운 문자열을 만들어 저장하는 방식을 사용.



최종 코드

def solution(s):
    words = s.split(" ")
    new_list = []
    for word in words:
        new_word = ""
        for i in range(len(word)):
            if i % 2 == 0:
                new_word += word[i].upper()
            else:
                new_word += word[i].lower()
        new_list.append(new_word)
    return " ".join(new_list)	
profile
코린이

0개의 댓글