[프로그래머스 / lv.1] 이상한 문자 만들기


날짜: 2021년 6월 3일
소요 시간: 23분 09초
카테고리: 인덱싱 태그: 레벨1, 파이썬

코딩테스트 연습 - 이상한 문자 만들기

입출력 예시

sreturn
“try hello world”“TrY HeLlO WoRlD”

내가 적은 코드

def solution(str):
    answer = []
    i = 0
    j = 0
    for i in range(0,len(str)):
        if j % 2 == 0:
            answer.append(str[i].upper())
            j += 1
        else:
            answer.append(str[i].lower())
            j += 1

        if str[i] == ' ':
            j = 0

    return ''.join(answer)

풀이 과정

str의 문자열을 하나씩 슬라이싱해서 띄어쓰기를 기준으로 짝수번 문자는 대문자, 홀수번 문자는 소문자로 배열 answer에 저장한다.
띄어쓰기를 기준으로 j를 0으로 초기화하여 기준을 잡고 대소문자를 구분 할 짝,홀수번째 문자를 정한다.
그리고 배열 answer의 원소들을 join() 함수를 통해 하나의 문자열로 출력한다.

베스트 코드

def toWeirdCase(s):
    # 함수를 완성하세요
    return ' '.join([''.join([c.upper() if i % 2 == 0 else c.lower() for i, c in enumerate(w)]) for w in s.split()])

반성

  • 알고리즘 책에서 enumerate()함수에 대해 보기는 했으나 실제로 사용되는 경우는 처음봤다. 다양한 함수, 모듈들이 더 눈에 익어 직접 활용할 수 있게 만들어야한다.




© 2021. by hminkim