Python - 이상한 문자 만들기

Minseok Jeon·2024년 7월 2일

문제

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

제한 사항

문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

입출력 예

sreturn
"try hello world""TrY HeLlO WoRlD"

입출력 예 설명

"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

문제 풀이

def solution(s):
	answer = ''
    for i in s.split(' '):
    	for j in range(len(i)):
        	if j % 2 == 0:
            	answer += i[j].upper()
            else:
            	answer += i[j].lower()
         answer += ' '
    return answer[:-1]
  • 사용된 함수
    split() : 구분자를 통해 문자열을 구분해줌
    upper() : 문자, 문자열 내 대문자 구분
    lower() : 문자, 문자열 내 소문자 구분

코드 설명

for i in s.split(' '):

문자열 s에 대해 공백을 구분자로 구분하여 반복문 실행

ex) 문자열 s = 'try hello world'
실행 결과
try
helloe
world

for j in range(len(i)):
	if j % 2 == 0:
    	answer += i[j].upper()
    else:
        answer += i[j].lower()
answer += ' '
  • i의 길이 만큼 반복문 실행
  • i의 요소인 j가 짝수 번째 일때 i의 요소를 대문자로 구분하여 answer 변수에 차례로 적재하는 코드
  • else 구문 : j가 홀수 번째 일때 i의 요소를 소문자로 구분하여 answer 변수에 적재
  • answer += ' ' : 공백을 넣어줌으로 단어를 구분할 수 있게 해준다.

0개의 댓글