이상한 문자 만들기 [Level 1] Python
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
입출력 예만 보고 코드를 작성하면 큰 낭패를 본다..
추가한 테스트 케이스: " try hello world " (앞, 뒤, 중간에 공백이 여러개 들어 있는 테스트 케이스)
Return 값: " TrY HeLlO WoRlD "
코드
import re
def solution(s):
answer = ''
a = s.split()
for i in range(len(a)):
s_list = list(a[i])
for j in range(len(s_list)):
if j % 2 == 0:
s_list[j] = s_list[j].upper()
else:
s_list[j] = s_list[j].lower()
a[i] = ''.join(s_list)
answer = ''.join(a)
# 원본 문자열 s에 공백의 인덱스 값을 찾아서 <list>.insert(index, ' ') 해주기
_answer = list(answer)
blank_list = [i.start() for i in re.finditer(' ', s)]
for i in blank_list:
_answer.insert(i, ' ')
answer = ''.join(_answer)
return answer
re.finditer(패턴, 문자열, 플래그)
findall()과 유사하지만 패턴에 맞는 문자열의 리스트가 아닌 iterator 형식으로 반환한다.
찾고자 하는 패턴의 인덱스 값을 찾을 때 유용함
Author And Source
이 문제에 관하여(이상한 문자 만들기 [Level 1] Python), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@skrudfhr02/이상한-문자-만들기-Level-1-Python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)