> 백엔드 개발 > 파이썬 튜토리얼 > 단어에 관한 것

단어에 관한 것

DDD
풀어 주다: 2024-12-30 19:07:10
원래의
736명이 탐색했습니다.

The one about words

주간 챌린지 299

매주 Mohammad S. Anwar는 우리 모두가 두 가지 주간 작업에 대한 해결책을 생각해 낼 수 있는 주간 챌린지를 보냅니다. 내 솔루션은 먼저 Python으로 작성된 다음 Perl로 변환됩니다. 이는 우리 모두가 코딩을 연습할 수 있는 좋은 방법입니다.

도전, 나의 솔루션

작업 1: 단어 바꾸기

일렬로 배열된 단어와 문장이 주어집니다.

주어진 문장에서 주어진 배열의 단어 중 하나로 시작하는 모든 단어를 바꾸는 스크립트를 작성하세요.

내 솔루션

이 작업에서는 정규식을 사용하여 변환합니다. 전체 코드는

첫 번째 괄호(?

명령줄 입력의 경우 마지막 값을 문장으로, 그 밖의 모든 값을 단어로 사용합니다.

작업 2: 단어 검색

문자 그리드와 문자열이 제공됩니다.

주어진 문자 격자에서 주어진 문자열을 찾을 수 있는지 확인하는 스크립트를 작성하세요. 어디에서나 시작하고 직교 경로를 택할 수 있지만 그리드 셀을 재사용할 수는 없습니다.

내 솔루션

이 작업에서는 모든 행의 열 수가 동일한지 확인하는 것부터 시작합니다. 그런 다음 각 셀을 살펴봅니다. 해당 셀의 문자가 단어의 첫 번째 문자이면 find_match 함수를 호출합니다. 이것이 true를 반환하면 이 함수는 true를 반환합니다. 그렇지 않은 경우 시작 문자가 포함된 다음 셀로 계속 이동합니다. 존재하지 않으면 false를 반환합니다.

find_match 함수는 재귀 함수입니다. 세 가지 매개변수가 필요합니다

  1. 매트릭스
  2. 단어의 나머지 글자(일치하지 않은 글자)
  3. 우리가 방문한 [row,col] 쌍의 셀 목록(Perl의 arrayref)

마지막 위치에서 네 방향(위, 아래, 왼쪽, 오른쪽) 중 하나로 이동할 수 있습니다. 이 방향으로 움직여도 우리가 경계를 벗어나지 않거나 이미 사용한 셀인지 확인합니다. 그렇지 않고 이 셀의 문자가 우리가 찾고 있는 문자와 일치하면 함수를 다시 호출하여 단어 변수에서 첫 번째 문자를 제거하고 새 위치를 추가합니다. 글자가 더 이상 남지 않는 지점에 도달하면 단어를 찾을 수 있고 True를 반환합니다.

위 내용은 단어에 관한 것의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿