Programmers/프로그래머스-이상한 문자 만들기-python

cosmos·2021년 3월 31일
2
post-thumbnail

문제📖

풀이🙏

  • 문자열 s는 한 개 이상의 단어로 구성되어 있다.
  • 각 단어는 하나 이상의 공백 문자로 구분되어 있다.
  • 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하라.
    -> split(' ')함수로 공백을 기준으로 문자열을 list화 하였다.
    -> 증감표현식 변수 + 이중 for문 + if else 조건문으로 짝수 번째, 홀수 번째를 판별하였다.
    -> upper()함수와 lower()함수를 이용해 문자를 대문자, 소문자로 치환시켰다.
    -> index slicing을 통해 문자열 마지막의 공백은 제외하고 결과값을 반환하였다.

코드💻

# programmers, phase1 : 이상한 문자 만들기, python3
def solution(s):
    s = s.split(' ')
    cnt = 1
    result = ''
    
    for i in s:
        for j in i:
            if cnt%2 != 0:
                j = j.upper()
            else:
                j = j.lower()
            result += j
            cnt += 1
        result += ' '
        cnt = 1
    
    return result[:-1]

최적코드

#  rhdudals0659 님 코드 참고
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(" ")))

결과😎


출처📝

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

github

https://github.com/KYUSEONGHAN/Development/blob/master/%ED%95%98%EB%A3%A8%EC%97%90%20%ED%95%9C%EA%B0%9C%EC%94%A9%20%EB%AC%B8%EC%A0%9C%20%ED%92%80%EA%B8%B0/Python/Programmers/%EB%AA%A8%EB%93%A0%20%EB%AC%B8%EC%A0%9C/Level%201/%EC%9D%B4%EC%83%81%ED%95%9C%EB%AC%B8%EC%9E%90%EB%A7%8C%EB%93%A4%EA%B8%B0.py

0개의 댓글