본문 바로가기
프로그래머스/Python

[프로그래머스] 이상한 문자 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 6.
728x90
반응형

 

 

프로그래머스

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

programmers.co.kr

 

1. 문제 설명

2. 풀이과정

입력받는 문자열 s의 양쪽에도 공백문자가 존재할 수 있으므로 각 단어를 공백으로 분리한 후 각 단어를 변환시켜 결합하는 것은 반례가 생길 수 있다.

따라서 입력받은 문자열을 그대로 사용하며 변환하는 방법으로 문제를 해결했다.

 

  1. 단어의 문자 위치를 나타낼 변수를 선언하고 초기화한다. index = 0
  2. 입력받은 문자열의 각 문자를 하나씩 추출한다. for i in s
  3. 만약 추출한 문자가 공백이면 if (i == ' ')
  4. 결과에 그대로 공백을 추가하고 answer += i
  5. 기존 단어의 끝과 새로운 단어의 시작을 의미하므로 단어의 문자 위치를 0으로 바꿔준다. index = 0
  6. 반면에 추출한 문자가 공백이 아니면 else
  7. 단어의 문자 위치가 짝수인 경우, 대문자로 바꿔 추가하고 if (index % 2 == 0): answer += i.upper()
  8. 단어의 문자 위치가 홀수인 경우, 소문자로 바꿔 추가한다. else: answer += i.lower()
  9. 문자를 추가하였으면 단어의 문자 위치를 1 증가시킨다. index += 1
반응형

3. 소스코드

def solution(s):
    answer = ''
    
    index = 0
    for i in s:
        if (i == ' '):
            answer += ' '
            index = 0
        else:
            if (index % 2 == 0):
                answer += i.upper()
            else:
                answer += i.lower()
                
            index += 1
            
    return answer
728x90
반응형