본문 바로가기

Problem Solving/Programmers

<Level 1> 이상한 문자 만들기 with 파이썬

 

문제 설명

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

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
def solution(s):
    answer = ''
    count = 0
    for i in range(len(s)):
        if s[i] == ' ':
            answer += ' '
            count = 0
        else :
            if count % 2 == 0:
                answer += s[i].upper()
            else :
                answer += s[i].lower()
            count += 1
    return answer

 

 - 처음에 split()으로 풀었다가 오답처리를 받았다. 당연히 공백은 하나일 것이라 생각하고 풀었기 때문이다. 공백이 한번에 여러개이더라도 동일하게 유지되어야 한다. 

 

 - 풀고나서 split(' ')로 처리하면 공백을 유지할 수 있다는 것을 알게 되었다. 다시 비슷한 상황을 마주한다면 사용해보도록 해야겠다.

 

 


 

참고

 

 

코딩테스트 연습 - 이상한 문자 만들기

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

programmers.co.kr