알파벳 문자를 나타내는 문자열 s와 숫자 k가 있다고 가정합니다. s의 문자만 사용하여 길이 k를 구성할 수 있는 회문의 수를 찾아야 합니다. 그리고 원하는 경우 이러한 문자를 두 번 이상 사용할 수 있습니다.
따라서 입력이 s ="xy", k =4와 같으면 회문이 [xxxx, yyyy, xyyx, yxxy]이므로 출력은 4가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- n :=k/2의 몫
- x :=s의 고유 문자 수
- x^(n + k 모드 2)를 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, s, k): n=k//2 return len(set(s))**(n+k%2) s = "xy" k = 4 ob = Solution() print(ob.solve(s, k))
입력
"xy",4
출력
4