[백준/파이썬] 5426번 비밀 편지 풀이

업데이트:



문제 정보


풀이

문제

암호문을 정사각형 표로 만든 뒤 회전 규칙으로 복호화하는 문제입니다.

코드

for T in range(int(input())):
    cryptogram = input()
    n = int(len(cryptogram)**.5)

    table = [list(cryptogram[i*n:(i+1)*n]) for i in range(n)]

    decrypted = ['' for _ in range(n)]
    for i in range(n):
        for j in range(n):
            decrypted[i] += table[j][n-i-1]

    print(''.join(decrypted))

설명

n x n 표를 만든 뒤 열 인덱스를 역순으로 읽어 새 문자열을 구성하면 복호화됩니다.



댓글남기기