주어진 단어가 있다고 가정합니다. 이들은 첫 번째와 두 번째입니다. 일부 텍스트에서 "첫 번째 두 번째 세 번째" 형식의 발생을 고려하십시오. 여기서 두 번째는 첫 번째 바로 다음에 오고 세 번째는 두 번째 바로 다음에 옵니다.
이러한 경우 각각에 대해 답변에 "세 번째"를 추가하고 답변을 표시합니다. 따라서 텍스트가 "lina is a good girl she is a good song"과 같은 경우 첫 번째 ="a", 두 번째 ="good"인 경우 답은 [girl, sing]입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- text :=공백으로 문자열 분할
- res는 빈 목록입니다.
- for i :=0에서 텍스트 크기까지 – 1
- i + 2 <텍스트 길이이고 text[i] =첫 번째이고 text[i + 1] =두 번째이면 텍스트[i + 2]를 res에 추가
- 반환 결과
예
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
class Solution(object): def findOcurrences(self, text, first, second): text = text.split(" ") res = [] for i in range(len(text)): if i+2<len(text) and text[i] ==first and text[i+1]==second: res.append(text[i+2]) return res ob1 = Solution() print(ob1.findOcurrences("lina is a good girl she is a good singer","a","good"))
입력
"lina is a good girl she is a good singer" "a" "good"
출력
['girl', 'singer']