반응형
이상한 문자 만들기
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s return
try hello world TrY HeLlO WoRlD
입출력 예 설명
try hello world는 세 단어 try, hello, world로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 TrY, HeLlO, WoRlD입니다. 따라서 TrY HeLlO WoRlD 를 리턴합니다.
나의 코드
def solution (s):
a=s.split("")
b=''
for j in range(len(a)):
aa=a[j]
for i in range (len(aa)):
if i%2==0:
b+=(aa[i].upper())
else :
b+=(aa[i].lower())
if j<len(a)-1:
b+=' '
return b
코드 설명
문자열 s를 받아 스페이스를 기준으로 split 한 문자열을 a에 할당한다.
j는 0부터 a의 길이까지 돌면서 각 잘라진 문자열 하나하나씩을 반복문으로 돌린다.
이 반복문 내에서, i는 0부터 잘라진 문자열의 길이만큼 돌면서 i가 2의 배수일때는 대문자로 변환하고, 2의 배수가 아닐때는 소문자로 변환한 값을 문자열 b에 저장한다.
각 잘라진 문자열끼리 구분하기 위해 두번째 반복문이 다 돌면 스페이스 ' '를 추가한다.
후기
split()의 괄호 사이에 ""를 넣지 않으면 주피터 노트북에선 돌아가지만 프로그래머스에선 합격을 못하게 된다...
반응형
'Programming > Coding Test' 카테고리의 다른 글
프로그래머스 레벨2 - 프린터 with Java (0) | 2020.04.03 |
---|---|
프로그래머스 레벨2 - 스킬트리 with Java (0) | 2020.04.02 |
프로그래머스 레벨1 - 실패율 (0) | 2020.03.19 |
프로그래머스 레벨1 - 하샤드 수 with Python (0) | 2020.03.19 |
프로그래머스 레벨1 - 콜라츠 추측 with Python (0) | 2020.03.13 |