PS (Problem Solving)/Programmers

[프로그래머스] 이상한 문자 만들기 - 파이썬

캐럿노트 2023. 1. 2. 23:43

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

설계

- 문자열의 인덱스가 아니라 공백으로 구분되는 각 단어 기준 짝홀을 구분해야 한다.
- 공백이 연속으로 오는 경우를 생각하여 홀짝을 잘 구분해야 한다.

def solution(s):
    arr = list(s)
    index = 0       # 홀짝을 비교하는 index
    for i in range(len(arr)):
        if arr[i] == ' ':
            index = 0       # 공백일 경우 index 초기화
        elif index % 2 == 0:
            arr[i] = arr[i].upper()
            index += 1
        else:
            arr[i] = arr[i].lower()
            index += 1

    answer = ''.join(s for s in arr)    # list -> str 변환
    return answer