Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 수직 암호를 사용하여 문자열을 암호화하는 프로그램

<시간/>

문자열 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']