[백준/파이썬] 2999번 비밀 이메일 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 2999번 비밀 이메일
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
암호 문자열 길이에 맞는 R x C 격자를 구성한 뒤
특정 순서로 채우고 읽어서 원문을 복원하는 문제입니다.
코드
s = input()
n = len(s)
for i in range(int(n**.5),0,-1):
if n % i == 0:
r = i
break
c = n//r
l = [['' for _ in range(c)] for _ in range(r)]
for j in range(c):
for i in range(r):
l[i][j] = s[r*j+i]
for row in l: print(*row, sep='', end='')
설명
R <= C, R*C = N을 만족하는 가장 큰 R을 찾은 뒤
열 우선으로 채운 격자를 행 우선으로 출력하면 복원됩니다.
댓글남기기