Development

[프로그래머스] 이상한 문자 만들기 - 글 작성 중 본문

코딩테스트/Python

[프로그래머스] 이상한 문자 만들기 - 글 작성 중

yo~og 2021. 7. 30. 00:25
반응형

ㅎ.ㅎ 제목이 이상한 문자 만들긴데 진짜 이상하다.. 왜 저런걸 만들지?ㅋㅋㅋㅋㅋㅋㅋㅋ

 

내 코드

def solution(s):

    from collections import deque
    
    answer = ""
    s = deque(s)
    cnt=0
    
    for i in range(len(s)):
        str = s.popleft()
        if str == " ":
            cnt=0
            answer+=" "
        elif cnt%2==0:
            answer+=str.upper()
            cnt+=1
        elif cnt%2==1:
            answer+=str.lower()
            cnt+=1
        
        
    return answer

deque를 사용! 데크 사용할때 import해야하는데 까먹고안해서.. 오류뜸... ㅠㅠㅠ 잊지말자.,..

 

deque를 사용해서 제일 앞에 문자를 pop한다.

pop한 문자가 빈칸이면 cnt를 0으로 초기화 시킨다. (공백을 기준으로 짝/홀수 인덱스 판단한다)

cnt가 짝수면 대문자 홀수면 소문자로 지정해서 answer에 추가한다!

 

 

다른 사람 코드

 

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

음?.,, 한줄?.. ㅎㅎ 음 ㅠ 잘 모르겠다 다른거 하다가 다시봐야지ㅠ

 

join

리스트에 있는 요소 하나하나를 합쳐서 하나의 문자열로 바꾸어 반환하는 함수.

"".join(리스트)

"구분자".join(리스트)


"_".join(['a','b','c']) 

# "a_b_c"
반응형
Comments