알고리즘/sw
4861. [파이썬 S/W 문제해결 기본] 3일차 - 회문_python
HAN_PY
2020. 3. 28. 00:13
반응형
문제의 저작권은 SW Expert Academy에 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
TC= int(input())
for tc in range(1, TC+1):
N, M = map(int, input().split())
data = [[x for x in input()] for _ in range(N)]
for i in range(len(data)):
for j in range(len(data[i])-M+1):
exi = []
exj = []
for k in range(M):
exi += data[i][j+k]
exj += data[j+k][i]
if exi == exi[::-1]:
res = "".join(exi)
if exj == exj[::-1]:
res = "".join(exj)
print("#%d %s"%(tc, res))
|
cs |
data = [[x for x in input()] for _ in range(N)]
이차 배열 넣는 방법이다.
for k in range(M):
exi += data[i][j+k]
exj += data[j+k][i]
for문을 따로 할 필요 없이 가로와 세로를 하나의 for문으로 만들자.
if exi == exi[::-1]:
+ 깊은 복사와 얕은 복사에 대해 공부해야한다.
순서를 뒤집어서 같은지 검사하는 방법이다.
res = "".join(exi)
join의 사용법을 공부해야한다.
반응형