Programmers

이상한 문자 만들기

h32j00 2021. 1. 1. 10:04

문제

문제

 

처음 작성한 코드

def solution(s):
    result = []
    for i in s.split(' '):
        a = ''
        for idx,j in enumerate(i):
            if idx%2==0: a += j.upper()
            else: a += j.lower()
        result.append(a)
    return ' '.join(result)

 

코드 리뷰 후

def solution(s):
    return ' '.join([''.join([j.upper() if idx%2==0 else j.lower() for idx,j in enumerate(i)]) for i in s.split(' ')])    

깨달은 점

1. 공백을 기준으로 split 하고 싶을때 split()가 아닌 split(' ')로 하자

2. [j.upper() if~ else~ for문] 이런식으로 if, else 둘다 [ ] 에 넣을 수 있었다. (if와 else 뒤에 : 없이 사용)