파이썬 단어 분할 알고리즘, Coderbyte
4599 단어 codepythoncoderbytealgorithms
문제 정의:
WordSplit(strArr) 함수가 strArr에 저장된 문자열 배열을 읽도록 합니다. 여기에는 2개의 요소가 포함됩니다. 첫 번째 요소는 문자 시퀀스이고 두 번째 요소는 알파벳 순서로 쉼표로 구분된 단어의 긴 문자열입니다. , 임의 길이의 사전을 나타냅니다. 예: strArr은 다음과 같습니다.
["hellocat", "사과, 박쥐, 고양이, 안녕, 안녕, 노랑, 왜"].
목표는 입력의 첫 번째 요소를 두 단어로 분할할 수 있는지 확인하는 것입니다. 사전의 두 단어는 두 번째 입력에서 제공됩니다.
이 예에서 firs 요소는 두 단어로 나눌 수 있습니다.
hello와 cat은 둘 다 사전에 있기 때문입니다.
프로그램은 사전에 있는 두 단어를 쉼표로 구분하여 반환해야 합니다. 따라서 위의 예에서 프로그램은 hello, cat을 반환해야 합니다. 문자의 첫 번째 요소를 두 단어로 분할하는 올바른 방법은 하나뿐입니다. 문자열을 사전에 존재하는 두 단어로 분할할 방법이 없으면 가능하지 않은 문자열을 반환합니다. 첫 번째 요소 자체는 사전에 실제 단어로 존재하지 않습니다.
# define the function to manipulate string
def WordSplit(strArr):
for i, j in enumerate(strArr[1].split(',')):
'''subtract a string from the main string'''
new = strArr[0].replace(j.strip(),'')
'''then search through the other strings and compare with the remainder after subtraction'''
for x in strArr[1].split(','):
if new == x.strip():
if strArr[0] == j.strip() + new:
return f'{j.strip()},{new}'
return 'not possible'
strArr = ['baseball', 'a, all, b, ball,base, bas, cat, code, d, e, quit, z'] #test case
response = WordSplit(strArr)
'''intersperse this code with the ouput of the function'''
code = 'fg23klq6r9'
print(response )
intersperse = ''.join(i+j for i, j in zip(response, code))
print(intersperse )
Reference
이 문제에 관하여(파이썬 단어 분할 알고리즘, Coderbyte), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pocharis/python-word-split-algorithm-coderbyte-2663텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)