매주 Mohammad S. Anwar는 우리 모두가 두 가지 주간 작업에 대한 해결책을 생각해 낼 수 있는 주간 챌린지를 보냅니다. 내 솔루션은 먼저 Python으로 작성된 다음 Perl로 변환됩니다. 이는 우리 모두가 코딩을 연습할 수 있는 좋은 방법입니다.
도전, 나의 솔루션
일렬로 배열된 단어와 문장이 주어집니다.
주어진 문장에서 주어진 배열의 단어 중 하나로 시작하는 모든 단어를 바꾸는 스크립트를 작성하세요.
이 작업에서는 정규식을 사용하여 변환합니다. 전체 코드는
첫 번째 괄호(?
명령줄 입력의 경우 마지막 값을 문장으로, 그 밖의 모든 값을 단어로 사용합니다.
문자 그리드와 문자열이 제공됩니다.
주어진 문자 격자에서 주어진 문자열을 찾을 수 있는지 확인하는 스크립트를 작성하세요. 어디에서나 시작하고 직교 경로를 택할 수 있지만 그리드 셀을 재사용할 수는 없습니다.
이 작업에서는 모든 행의 열 수가 동일한지 확인하는 것부터 시작합니다. 그런 다음 각 셀을 살펴봅니다. 해당 셀의 문자가 단어의 첫 번째 문자이면 find_match 함수를 호출합니다. 이것이 true를 반환하면 이 함수는 true를 반환합니다. 그렇지 않은 경우 시작 문자가 포함된 다음 셀로 계속 이동합니다. 존재하지 않으면 false를 반환합니다.
find_match 함수는 재귀 함수입니다. 세 가지 매개변수가 필요합니다
마지막 위치에서 네 방향(위, 아래, 왼쪽, 오른쪽) 중 하나로 이동할 수 있습니다. 이 방향으로 움직여도 우리가 경계를 벗어나지 않거나 이미 사용한 셀인지 확인합니다. 그렇지 않고 이 셀의 문자가 우리가 찾고 있는 문자와 일치하면 함수를 다시 호출하여 단어 변수에서 첫 번째 문자를 제거하고 새 위치를 추가합니다. 글자가 더 이상 남지 않는 지점에 도달하면 단어를 찾을 수 있고 True를 반환합니다.
위 내용은 단어에 관한 것의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!