알고리즘/Python

[프로그래머스] 파이썬 - 이상한 문자 만들기

조이은 2023. 7. 26. 15:02

https://school.programmers.co.kr/learn/courses/30/lessons/12930?itm_content=course14743 

 

프로그래머스

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

programmers.co.kr

 

프로그래머스 - 이상한 문자 만들기

 

 

접근 방식
1. 문자열을 순회하면서 공백인지 문자인지 확인한다.
2. 공백이라면 인덱스를 초기화시키고, answer 문자열에 공백을 추가한다.
3. 문자라면 인덱스를 확인하여 짝수면 대문자, 홀수면 소문자로 변경하여 answer 문자열에 추가한다.

 

def solution(s) :
    answer = ''
    index = 0
    
    for word in s:
        #공백이면
        if word.isspace() :
            index = 0 #인덱스 초기화
            answer += ' '
            continue
        
        #문자가 존재한다면
        else :
            if index % 2 == 0:
                answer += word.upper()
            else :
                answer += word.lower()
        index += 1 #인덱스 ++1 
    return answer

 

 

처음에는 공백을 기준으로 split하여서 리스트를 돌면서 문자를 확인했는데 그렇게 하면

1. 공백이 여러개 있을 경우를 구분하지 못한다.

2. for문을 두번 돌아야 한다.

는 문제가 있어서 생각의 전환 생각의 전환을 외치면서 다시 풀었습니다. 

생각보다 잘 푼 거 같아서 나혼자 뿌듯함 ^^