728x90
반응형
안녕하세요. 이번 포스팅에서는 Py.CheckiO 의 Home 레벨에 있는 Count digits 문제풀이를 해보겠습니다.
주의:
제 답이 최고/최적화된 답이 아닐 수 있으며, 해결하는 것에만 집중한 답이기 때문에 좀 더 나은 방법이나 해석이 있으시다면 댓글 부탁드립니다.
0. Backword each word 문제 내용
Backword each word의 문제 내용은 주어진 문자열에서 각각의 단어들을 거꾸로 뒤집어서 return 하는 문제입니다.
단순하게 문자열 전체를 뒤집는 것이 아니라 각 단어의 위치는 고정하고 그 단어들을 그자리에서 거꾸로 뒤집는 게 포인트네요.
1. Backword each word 문제 풀이
우선 주어진 문자열을 공백으로 쪼개서 단어마다 끊어줍니다.
split_text 변수에 주어진 text 변수를 공백으로 쪼갠 단어들의 리스트가 만들어 집니다.
그리고 이것들을 다시 하나의 문자열로 재조합하여 대입할 new_text 변수를 빈 문자열로 둡니다.
반복문을 통해서 나눠진 단어들마다 인덱스를 이용해서( [::-1] ) 뒤집어서 다시 대입합니다.
new_text에 이 뒤집힌 단어들을 단어 뒤에 공백과 함께 넣어주면 단어들이 뒤집힌 채로 문자열이 조합됩니다.
그런데 이경우에는, 마지막 단어 뒤에도 공백이 들어가서 전체 문자열이 맨 뒤에 공백이 하나 포함 되기때문에
이를 rstrip() 함수를 통해 잘라내서 return 하면 정답이 됩니다.
text == 'welcome to a game'
split_text == ['welcome', 'to', 'a', 'game']
split_text[i][::-1] 을 통해 뒤집어 졌을 때 == ['emoclew', 'ot', 'a', 'emag']
new_text == ['emoclew ot a emag ']
본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.
인용 시 출처와 같이 공개해주세요!
도움이 되셨다면 댓글 또는 공감 부탁드립니다!
728x90
반응형
댓글