[프로그래머스 / lv.1] 이상한 문자 만들기
in Problem Solving on Programers
날짜: 2021년 6월 3일
소요 시간: 23분 09초
카테고리: 인덱싱 태그: 레벨1
, 파이썬
입출력 예시
s | return |
---|---|
“try hello world” | “TrY HeLlO WoRlD” |
내가 적은 코드
def solution(str):
answer = []
i = 0
j = 0
for i in range(0,len(str)):
if j % 2 == 0:
answer.append(str[i].upper())
j += 1
else:
answer.append(str[i].lower())
j += 1
if str[i] == ' ':
j = 0
return ''.join(answer)
풀이 과정
str
의 문자열을 하나씩 슬라이싱해서 띄어쓰기를 기준으로 짝수번 문자는 대문자, 홀수번 문자는 소문자로 배열 answer
에 저장한다.
띄어쓰기를 기준으로 j
를 0으로 초기화하여 기준을 잡고 대소문자를 구분 할 짝,홀수번째 문자를 정한다.
그리고 배열 answer
의 원소들을 join()
함수를 통해 하나의 문자열로 출력한다.
베스트 코드
def toWeirdCase(s):
# 함수를 완성하세요
return ' '.join([''.join([c.upper() if i % 2 == 0 else c.lower() for i, c in enumerate(w)]) for w in s.split()])
반성
- 알고리즘 책에서
enumerate()
함수에 대해 보기는 했으나 실제로 사용되는 경우는 처음봤다. 다양한 함수, 모듈들이 더 눈에 익어 직접 활용할 수 있게 만들어야한다.