본문 바로가기
🔅코딩테스트 공부🔅/❗프로그래머스(Lv.1)

[프로그래머스] Level1 이상한 문자 만들기(with python)

by 윤무무 2023. 2. 1.

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 내가 작성한 코드
def solution(s):
    word = s.split(" ")
    a = ''
    
    for i in word:
        for j in range(len(i)):
            if j % 2 == 0:
                a += i[j].upper()
            else:
                a += i[j].lower()
        a += ' '
    
    return a[:-1]

 

처음에 word = s.split()으로 구분을 하고, return 할 때 rstrip() 했더니 일부의 테스트케이스에서 오류가 났다.

 

다양한 예외케이스를 고려해봤으나 정상적으로 출력이 되는 상황?

 

그래서 프로그래머스에 있는 질문ㄱㅔ시판에서 나와 같은 문제를 겪는 사람을 찾았고, 힌트를 얻을 수 있었다.

 

문제는 "각 단어는 하나 이상의 공백문자로 구분되어 있습니다" 즉, 두 개 이상의 공백문자로 구분되어 있을 때는 같은 개수의 공백문자가 함께 출력되어야 한다.

 

따라서 split() => split(" ")으로 바꾸고, a.rstrip() => a[:-1]로 return 받으니 정상적으로 출력됐다!

 

 

댓글