[프로그래머스-레벨1]이상한 문자 만들기 - python

iamjinseo·2022년 8월 22일
0

문제풀이-Python

목록 보기
77/134

https://school.programmers.co.kr/learn/courses/30/lessons/12930#
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단
    해야합니다.

    첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

풀이

def solution(s):
    res=""
    ans = []
    for w in s.split(' ') : #단어 순회
        for i in range(len(w)): # 글자 순회
            if i % 2 == 0 : # 인덱스가 짝수
                res+=w[i].upper() #대문자로
            else : 
                res += w[i].lower()
        ans.append(res) #바뀐 단어 넣기
        res = "" #단어 초기화
    return ' '.join(ans) #공백 넣어 출력

결과

남의 코드

def toWeirdCase(s):
    return " ".join(map(lambda x: "".join([a.lower() if i % 2 else a.upper() for i, a in enumerate(x)]), s.split(" ")))

숏코딩의 진수로다

참고

lambda

https://wikidocs.net/64

profile
일단 뭐라도 해보는 중

0개의 댓글