SW/알고리즘

파이썬 : 프로그래머스 : 이상한 문자 만들기 : 풀이

얇은생각 2019. 9. 30. 07:30
반응형

코드

def solution(s):
    answer = ""
    counter = 0
    for i in range(len(s)):
        if s[i] == " ":
            counter = 0
            answer += " "
        elif counter % 2 == 0:
            answer +=s[i].upper()
            counter +=1
        elif counter % 2 == 1:
            answer += s[i].lower()   
            counter +=1
    return answer

 

 

 

실행 결과

정확성 테스트

테스트 1 통과 (0.04ms, 10.6MB)
테스트 2 통과 (0.04ms, 10.7MB)
테스트 3 통과 (0.04ms, 10.7MB)
테스트 4 통과 (0.07ms, 10.7MB)
테스트 5 통과 (0.05ms, 10.7MB)
테스트 6 통과 (0.04ms, 10.6MB)
테스트 7 통과 (0.06ms, 10.6MB)
테스트 8 통과 (0.06ms, 10.7MB)
테스트 9 통과 (0.05ms, 10.7MB)
테스트 10 통과 (0.07ms, 10.7MB)
테스트 11 통과 (0.07ms, 10.8MB)
테스트 12 통과 (0.06ms, 10.7MB)
테스트 13 통과 (0.05ms, 10.7MB)
테스트 14 통과 (0.04ms, 10.8MB)
테스트 15 통과 (0.05ms, 10.6MB)
테스트 16 통과 (0.10ms, 10.7MB)

채점 결과

정확성: 100.0

합계: 100.0 / 100.0

 

 

 

총평

문자열을 홀수 짝수로 접근해야 하지만, " " 띄어쓰기가 나오는 경우 다시 체크를 해주어야 합니다. 따라서, counter 라는 변수를 두고 띄어쓰기가 나오는 경우에는 값을 초기화 해주었습니다. lower, upper 함수를 활용해, 홀수 짝수의 경우를 접근해, 빈 문자열에 더해 주어 문제를 해결하였습니다. 다른 방식으로도 충분히 해결할 수 있을 것으로 보입니다.

반응형