오늘 풀어본 예제
https://school.programmers.co.kr/learn/courses/30/lessons/12930
문제
문자열 s는 한개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
입출력 예시
s | return |
"try hello world" | "TrY HeLlO WoRlD |
문제 파악
공백을 기준으로 단어를 나누어 홀수, 짝수를 계산한다.
단어를 홀수는 대문자 짝수번째는 소문자가 출력되게 한다.
나누어진 단어를 다시 합쳐 return 하는 것
파악한 문제를 토대로 코드를 짜보기
def solution(s):
words = s.split(" ")
answer = []
words = s.split(" ") 공백을 기준으로 단어를 나누어 words에 저장하기
answer = [] 결과값을 넣어둘 리스트
for word in words:
t_word = ""
for i, char in enumerate(word):
if i % 2 == 0:
t_word += char.upper()
else:
t_word += char.lower()
answer.append(t_word)
words 에 나눠놓은 값을 순차적으로 word에 넣기
t_word = " " 변환된 단어를 저장할 저장소
for i, char in enumerate(word): word의 인덱스 (데이터 구조 내의 특정 위치를 가리키는 숫자) 를 구해 i에 집어넣고 i에 해당하는 열의 값을 char에 집어넣음 < 이 역할을 하는 명령어는 enumerate
if i % 2 == 0: t_word += char.upper() # 짝수 인덱스의 문자를 대문자로 출력
else: t_word += char.lower() 홀수 인덱스의 문자를 소문자로 출력
return " ".join(answer)
return " ".join(answer) 문자열 " "에 answer의 리스트 값을 join시켜서 하나의 문자열로 만들어 출력하기
행렬의 덧셈에서 튜터님께 질문을 하고 답변으로 받았던 enumerate에 대해 미리 예습을 했던 것이 큰 도움이 되었다.
그게 아니었으면 오늘 문제 풀이에서 큰 좌절을 맛보았을 것이다.
오늘의 배운 점은 enumerate을 복습하고 join을 통해 리스트의 문자들을 하나의 문자열로 변환할 수 있다는 join 명령어에 대한 정보였다.
'Python' 카테고리의 다른 글
본 캠프 Python 알고리즘 코드카타 8일차 (0) | 2024.07.01 |
---|---|
본 캠프 Python 알고리즘 코드카타 7일차 (0) | 2024.06.30 |
본 캠프 Python 알고리즘 코드카타 5일차 (0) | 2024.06.28 |
본 캠프 Python 알고리즘 코드카타 4일차 (0) | 2024.06.27 |
본 캠프 Python 알고리즘 코드카타 3일차 (0) | 2024.06.26 |