코딩테스트 연습/프로그래머스
[Python] 프로그래머스 코딩테스트 연습 LV1 - 이상한 문자 만들기
환타몬
2022. 1. 22. 17:34
https://programmers.co.kr/learn/courses/30/lessons/12930
코딩테스트 연습 - 이상한 문자 만들기
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을
programmers.co.kr
1.소스코드
import re
def solution(s):
answer = ''
s = s.split(" ") #문자열을 공백을 기준으로 나누기
for i in s:
i = list(i)
for j in range(0,len(i)):
if j%2==0: #i의 인덱스 j가 짝수이면 대문자, 홀수이면 소문자
i[j] = i[j].upper()
else :
i[j] = i[j].lower()
i = "".join(i) #리스트의 문자열화
answer +=" "+i #answer 에 문자열 넣기
answer = re.sub('^[\s]',"",answer) #윗처럼 문자열을 넣으면 맨 앞에 공백이 생기기 때문에 정규표현식을 통해 맨 앞의 공백 제거
return answer
2. 생각하기
한 단어마다 홀수,짝수의 인덱스로 나뉘기 때문에 split()메소드를 이용하여 공백을 기준으로
나누고, list로 반환함. for문으로 반환한 값을 돌고, 해당 값을 또 list로 만들어서 각 인덱스를 홀짝으로
분류하여 upper, lower 메소드를 이용하고, 그 값을 문자열로 전환한 뒤 문자열에 +해주기.