문자열 사전이 있다고 가정하면 사전은 고대 우주비행사 사전의 부분적인 사전 순서를 나타냅니다. 따라서 문자열이 있는 경우 고대 우주비행사 사전에 따라 사전순으로 정렬된 문자열인지 여부를 확인해야 합니다.
따라서 입력이 사전 ="bdc", s ="bbbb h ddd i cccc"와 같으면 출력은 True
가 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
l :=astro_dict의 크기
-
l이 0과 같으면
-
참을 반환
-
-
나는 :=0
-
s의 각 문자 c에 대해
-
astro_dict에 c가 있으면
-
i
-
나는 :=나는 + 1
-
-
i>=l 또는 astro_dict[i]가 c가 아니면
-
거짓을 반환
-
-
-
-
참을 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, astro_dict, s): l = len(astro_dict) if l == 0: return True i = 0 for c in s: if c in astro_dict: while i < l and astro_dict[i] != c: i += 1 if i >= l or astro_dict[i] != c: return False return True ob = Solution() print(ob.solve("bdc","bbbb h ddd i cccc"))
입력
"bdc","bbbb h ddd i cccc"
출력
True