처음엔 주어진 문자열을
암호화하는 줄 알고 구현을 해서
시간이 좀 걸렸다.
그러나 암호화되어 있는 문자열을
원래의 문자열로 출력하는 문제였던 것..!
열은 입력값으로 주어졌다
행은 전체 문자열을 열로 나눈 값으로 정했다.
<aeijfbcgklhd>
aei | jfb | cgk | lhd
1번째(aei) , 3번째(cgk)는 왼쪽 -> 오른쪽으로 판별해서
a는 array[0]에 넣고
e는 array[1]에 넣고
i는 array[2]에 넣는식으로
cgk도 넣어준다.
2번째 (jfb), 4번째(lhd)는 오른쪽->왼쪽순으로
각각의 값을 array 배열에 넣어준다.
j는 array[2]에 넣고
f는 array[1]에
b는 array[0]에
그러면
array=[
[a,b,c,d],
[e,f,g,i],
[i,j,k,l],
]
이런식으로 자리를 찾아간다!
출력은 순서대로 쭉 뽑아내면
abcdefghijkl의 값을 출력할 수 있게 된다.
k = int(input()) # 열
temp = input()
num = len(temp) // k # 행
array = [[] for _ in range(k)]
for i in range(1, num + 1):
if i%2==1:
for j in range(k):
array[j].append(temp[j])
temp=temp[k:]
else:
for j in range(k):
array[j].append(temp[k-j-1])
temp=temp[k:]
answer=''
for arr in array:
for i in arr:
answer+=i
print(answer)
'여니의 취준 준비 > 코딩테스트 (Python)' 카테고리의 다른 글
[n10384] 팬그램 in python (문자열,아스키코드) (0) | 2021.11.08 |
---|---|
[n9742] 순열 in python (0) | 2021.11.08 |
[n9372] 상근이의 여행 in python (0) | 2021.11.05 |
[n10546] 배부른 마라토너 in python (0) | 2021.11.04 |
[n2628] 종이 자르기 in python (0) | 2021.11.04 |