문자열 S가 있다고 가정합니다. 해당 문자열의 사전순으로 가장 큰 회문 하위 시퀀스를 찾아야 합니다.
따라서 입력이 "tutorialspointtutorial"과 같으면 출력은 "uu"가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
ans :=빈 문자열
-
max_val :=s[0]
-
범위 1에서 s까지의 i에 대해 수행
-
max_val :=max_val의 최대값, s[i]
-
-
범위 0에서 s까지의 i에 대해
-
s[i]가 max_val과 같으면
-
ans :=ans + s[i]
-
-
-
반환
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def largest_palindromic_substr(s): ans = "" max_val = s[0] for i in range(1, len(s)): max_val = max(max_val, s[i]) for i in range(0, len(s)): if s[i] == max_val: ans += s[i] return ans s = "tutorialspointtutorial" print(largest_palindromic_substr(s))
입력
"tutorialspointtutorial"
출력
uu