728x90
반응형
안녕하세요. 이번 포스팅에서는 Py.CheckiO 의 Home 레벨에 있는 Three words 문제풀이를 해보겠습니다.
주의:
제 답이 최고/최적화된 답이 아닐 수 있으며, 해결하는 것에만 집중한 답이기 때문에 좀 더 나은 방법이나 해석이 있으시다면 댓글 부탁드립니다.
0. Three words 문제 내용
Three words의 문제 내용은 몇 개의 단어로 구성된 문자열이 주어졌을 때,
해당 문자열에서 구성된 단어들 중 연속으로 세 개의 숫자가 아닌 단어가 이어질 때
True를 return하고 아닌 경우는 False를 반환시키는 문제입니다.
1. Three words 문제 풀이
주어지는 문자열은 스페이스바(' ')로 단어들이 구분되어 있기 때문에 split 함수를 사용해서 단어들을 나눕니다.
words == "Hello World hello"
words.split(' ') == ["Hello", "World", "hello"]
단어들로 나눠진 list는 반복문을 통해서 하나씩 문자로 이뤄졌는지, 숫자로 이뤄졌는지 검사하는 과정을 거칩니다.
count 변수를 두어서 문자가 나올 때, 1 씩 증가 시키고 만약 3이 되면 True를 return 합니다.
만약 이 과정에서 중간에 숫자가 나오면 count의 값이 0으로 초기화 되면서
연속으로 문자로된 단어가 3개가 나오지 않는 이상 count의 값이 3이 되지 못합니다.
아래의 코드에서는 isdigit 함수로 해당 단어가 숫자인지 판별하고 맞을 경우 count를 0으로 초기화합니다.
다른 방법으로 isalpha 함수를 사용해서 단어가 문자로 이루어졌을 경우에 1을 증가 시키는 방법도 사용할 수 있습니다.
본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.
인용 시 출처와 같이 공개해주세요!
도움이 되셨다면 댓글 또는 공감 부탁드립니다!
728x90
반응형
댓글