문자열 s와 숫자 n이 있다고 가정하면 s를 수직으로(위에서 아래로, 왼쪽에서 오른쪽으로) 선택할 수 있도록 s를 n개의 행으로 재배열해야 합니다.
따라서 입력이 s ="ilovepythonprogramming" n =5와 같으면 출력은 ['ipnrn', 'lypag', 'otrm', 'vhom', 'eogi']
가 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- L :=빈 목록
- 0 ~ n - 1 범위의 i:
- i부터 각 n번째 문자를 가져와서 문자열을 삽입하고 L에 삽입
- 반환 L
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, s, n): return [s[i::n] for i in range(n)] ob = Solution() s = "ilovepythonprogramming" n = 5 print(ob.solve(s, n))
입력
"ilovepythonprogramming", 5
출력
['ipnrn', 'lypag', 'otrm', 'vhom', 'eogi']