Programming/Coding Test

프로그래머스 레벨1 - 이상한 문자 만들기 with Python

빠모스 2020. 3. 13. 21:16
반응형

이상한 문자 만들기

문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 사항
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

 

입출력 예
s return
try hello world TrY HeLlO WoRlD

 

입출력 예 설명
try hello world는 세 단어 try, hello, world로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 TrY, HeLlO, WoRlD입니다. 따라서 TrY HeLlO WoRlD 를 리턴합니다.

 

 

나의 코드

def solution (s):
    a=s.split("")
    b=''
    for j in range(len(a)):
        aa=a[j]
        for i in range (len(aa)):
            if i%2==0:
                b+=(aa[i].upper())
            else :
                b+=(aa[i].lower())
        if j<len(a)-1:
            b+=' '
    return b

 

코드 설명

문자열 s를 받아 스페이스를 기준으로 split 한 문자열을 a에 할당한다. 

j는 0부터 a의 길이까지 돌면서 각 잘라진 문자열 하나하나씩을 반복문으로 돌린다.

이 반복문 내에서, i는 0부터 잘라진 문자열의 길이만큼 돌면서 i가 2의 배수일때는 대문자로 변환하고, 2의 배수가 아닐때는 소문자로 변환한 값을 문자열 b에 저장한다.

각 잘라진 문자열끼리 구분하기 위해 두번째 반복문이 다 돌면 스페이스 '  '를 추가한다.

 

후기

split()의 괄호 사이에 ""를 넣지 않으면 주피터 노트북에선 돌아가지만 프로그래머스에선 합격을 못하게 된다...

반응형