문자열을 k 크기의 그룹으로 나누기
s
을 크기 그룹k
으로 분할할 수 있습니다.k
문자로 구성되고 두 번째 그룹은 문자열의 다음k
문자로 구성되는 식입니다. 각 캐릭터는 정확히 한 그룹의 일부가 될 수 있습니다. k
문자가 없으면 문자 fill
를 사용하여 그룹을 완성합니다. 마지막 그룹(있는 경우)에서
fill
문자를 제거하고 모든 그룹을 순서대로 연결한 후 결과 문자열은 s
가 되도록 파티션이 수행됩니다.문자열
s
, 각 그룹의 크기k
및 문자fill
가 주어지면 위의 절차를 사용하여 모든 그룹s
이 나누어진 구성을 나타내는 문자열 배열을 반환합니다.예 1:
입력: s = "abcdefghi", k = 3, 채우기 = "x"
출력: ["abc","def","ghi"]
설명:
처음 3자 "abc"가 첫 번째 그룹을 형성합니다.
다음 3개의 문자 "def"는 두 번째 그룹을 형성합니다.
마지막 3자 "ghi"가 세 번째 그룹을 형성합니다.
모든 그룹은 문자열의 문자로 완전히 채워질 수 있으므로 채우기를 사용할 필요가 없습니다.
따라서 형성된 그룹은 "abc", "def"및 "ghi"입니다.
예 2:
입력: s = "abcdefghij", k = 3, 채우기 = "x"
출력: ["abc","def","ghi","jxx"]
설명:
이전 예와 유사하게 처음 세 그룹 "abc", "def"및 "ghi"를 형성합니다.
마지막 그룹의 경우 문자열에서 문자 'j'만 사용할 수 있습니다. 이 그룹을 완성하려면 'x'를 두 번 추가합니다.
따라서 형성된 4개의 그룹은 "abc", "def", "ghi"및 "jxx"입니다.
제약:
1 <= s.length <= 100
s
는 영문 소문자로만 구성되어 있습니다. 1 <= k <= 100
fill
는 영문 소문자입니다. 해결책:
class Solution:
def divideString(self, s: str, k: int, fill: str) -> List[str]:
n = len(s)
s += fill * (n % k if n % k == 0 else k - n % k)
n = len(s)
op = []
for i in range(0, n, k):
op.append(s[i:i+k])
return op
Reference
이 문제에 관하여(문자열을 k 크기의 그룹으로 나누기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/divide-a-string-into-groups-of-size-k-48mj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)