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

Lee, Chankyu·2021년 9월 7일
0
post-thumbnail

이상한 문자 만들기

문제 링크

나의 풀이

def solution(s):
    s_split = s.split(" ")
    answer = []
    for i in range(len(s_split)):
        if i > 0 :
            answer.append(' ')
        for j in range(len(s_split[i])):
            if j % 2 == 0:
                a = s_split[i][j].upper()
                answer.append(a)
            else:
                a = s_split[i][j].lower()
                answer.append(a)
    return "".join(answer)
  • 문제의 핵심은 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야 한다는 것이다. 처음에 잘못 이해해서 띄어쓰기도 포함해야한다는 것만으로 착각해서 잘못 풀이했었다. s_split = s.split(" ") 코드와 같이 split함수를 이용하여 공백을 기준으로한 리스트로 반환하는 것이 핵심이었다. 이중반복문과 if문을 이용한 홀/짝 판별과 join함수의 사용은 앞선 알고리즘 문제들에서 반복적으로 다뤄왔던 것들이다.

다른 사람의 풀이

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(" ")))

-열거형(enumerate type)으로 풀이한 소스코드이다. 열거형에 대해서는 추후 따로 글을 작성하도록 하겠다!

profile
Backend Developer - "Growth itself contains the germ of happiness"

0개의 댓글