일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 에이블스쿨
- matplot
- 시각화
- 에트리 인턴
- cnn
- r
- SQL
- 한국전자통신연구원 인턴
- python
- 에이블러
- SQLD
- 머신러닝
- 서평
- 빅분기
- arima
- Eda
- ML
- 가나다영
- 하둡
- 딥러닝
- dx
- 다변량분석
- 시계열
- 프로그래머스
- 웹크롤링
- ggplot2
- Ai
- ETRI
- kaggle
- 하계인턴
- 소셜네트워크분석
- httr
- KT AIVLE
- 기계학습
- hadoop
- kt aivle school
- 지도학습
- KT 에이블스쿨
- 한국전자통신연구원
- 빅데이터분석기사
Archives
- Today
- Total
소품집
[python] 프로그래머스 Lve1. 이상한 문자 만들기 본문
728x90
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
입출력 예 설명
try hello world는 세 단어 try, hello, world로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 TrY, HeLlO, WoRlD입니다. 따라서 TrY HeLlO WoRlD 를 리턴합니다.
def toWeirdCase(s):
answer = ''
s_li = s.lower().split(" ")
for s in s_li:
for k, v in enumerate(s):
if k % 2 == 0:
v = v.upper()
answer += v
answer += " "
return answer[:-1]
- 먼저 공백을 기준으로 문자열을 나눈 뒤, 모두 소문자로 변환해줍니다.
- 그 뒤, s_li로 하나씩 문자열에 있는 값을 s 로 받게 한 뒤
- 인덱스값이 필요하기 때문에 enumerate 함수를 사용했습니다.
- 그 때 짝수 번째에 위치한다면 대문자로 바꿔줍니다.
- 이미 처음에 모든 문자열을 소문자로 바꿨기 때문에 else 문을 사용하지 않아도 됩니다.
- 처음에 만들어 둔 answer에 문자열을 담습니다.
- 과정을 마치면 다시 ' '(공백)을 기준으로 띄어줍니다.
- [:-1]을 한 이유는 마지막에도 공백이 생기기 때문이고, 마지막을 제외한 모든 값을 출력해주도록 합니다.
728x90
'코딩 테스트 > Python' 카테고리의 다른 글
[python] 프로그래머스 Lve1. 2016년 (0) | 2020.10.20 |
---|---|
[python] 프로그래머스 Lve1. 완주하지 못한 선수 (0) | 2020.10.16 |
[python] 프로그래머스 Lve1. 같은 숫자는 싫어 (0) | 2020.10.07 |
[python] 프로그래머스 Lve1. 핸드폰 번호 가리기📱 (0) | 2020.10.06 |
[python] 프로그래머스 Lve1. 📢 서울에서 김서방 찾기 (0) | 2020.10.06 |
Comments